複数のシート(厳密な優先順位を定義できます)で VLOOKUP を実行したいのですが、答えが空白の場合は無視したいです。次の答えを見つけました:
この回答の問題点は、最初のシートのすべてのエントリが一致することは間違いないのですが、その多くが空白のセルに一致することです。その場合、シートがなくなるまで、2 番目、3 番目など、数式で検索するようにしたいと思います。私が持っているシートの数は妥当な数 (10 を超えることはありません) なので、数式にすべてのシートを明示的に記述する必要があるソリューションでもかまいません。
どうもありがとう。
答え1
Excel は実際には 3D ルックアップ (シート間) をうまく処理しません。私が知っている限り、これを行う唯一の方法は、各セルをチェックして空白かどうかを確認し、空白でない場合は次のセルに進むことです。以下は 3 つのシートを使用した例です。
=if(isbank(vlookup(f1,sheet1!A2:B10,2,false)),if(isbank(vlookup(f1,sheet2!A2:B10,2,false)),if(isbank(vlookup(f1,sheet3!A2:B10,2,false)),"no_non_blank",vlookup(f1,sheet3!A2:B10,2,false)),vlookup(f1,sheet2!A2:B10,2,false)),vlookup(f1,sheet1!A2:B10,2,false))
シートごとに列を用意して、すべての検索を実行し、最初の空白でない列から値を選択する方がよい場合があります。その方がはるかに読みやすくなります。
答え2
これには Power Query アドインを使用します。各ターゲット シートからデータを個別のクエリとしてインポートし、空白行をフィルター処理できます。次に、ベース シートから開始して、マージ コマンドを使用してターゲット シートを順番に追加し、別のクエリを構築できます。
http://office.microsoft.com/en-au/excel-help/merge-queries-HA104149757.aspx?CTT=5&origin=HA103993872
最終結果を Excel テーブルに配信できます。
Power Query は、複雑にネストされた vlookup 式よりもはるかに簡単に操作できます。各ステップで、結果のデータを即座に確認できます。