VLOOKUP関数で「シート1になければシート2、それでもなければシート3から探す」といった複数シートを順番に検索する仕組みは、実はExcelの標準機能だけでも実現可能です。本記事では、実務でもよく使われるVLOOKUPのネスト(入れ子)構造を使った方法を中心に、わかりやすく解説します。
複数シート検索が必要になる場面
データが1つのシートにまとまっていない場合、VLOOKUPを複数回使う必要が出てきます。
例えば「年度ごと」「部署ごと」「店舗ごと」にデータが分かれているケースです。
このような場合に1つずつ検索していると非効率になります。
基本の考え方:VLOOKUPの入れ子構造
複数シート検索は、VLOOKUPの中にVLOOKUPを入れることで実現できます。
つまり「見つからなかった場合に次のVLOOKUPを実行する」という形です。
ExcelではIFERROR関数を組み合わせるのが一般的です。
実際の数式例(シート1→シート2→シート3)
基本形は以下のようになります。
=IFERROR(VLOOKUP(A1,シート1!A:B,2,FALSE),IFERROR(VLOOKUP(A1,シート2!A:B,2,FALSE),VLOOKUP(A1,シート3!A:B,2,FALSE)))
このようにIFERRORで囲むことで、エラー時に次のシートを検索できます。
IFERRORを使う理由
VLOOKUPは検索値が見つからないと「#N/Aエラー」を返します。
このエラーをIFERRORで捕まえて次の検索に切り替えるのがポイントです。
これにより条件分岐のような動作を実現できます。
XLOOKUPとの違い(参考)
新しいExcelではXLOOKUPを使うとよりシンプルに書けます。
ただし古いバージョンでは使えないため、VLOOKUP+IFERRORが実務ではまだ主流です。
環境に応じて使い分けることが重要です。
注意点とよくあるミス
シートごとにデータ構造が違うと正しく検索できません。
また検索範囲(A:Bなど)を間違えると意図しない値が返ることがあります。
すべてのシートで構造を統一することが重要です。
応用:シートが増える場合の考え方
シートが4つ以上になる場合も、IFERRORをさらにネストして対応できます。
ただし数式が長くなるため、Power Queryなどの利用も検討できます。
規模に応じて方法を選ぶのが実務的です。
まとめ
VLOOKUPは単体では1つの範囲しか検索できませんが、IFERRORと組み合わせることで複数シートの順次検索が可能になります。
シート1→2→3のような優先順位検索は実務でもよく使われる重要なテクニックです。
構造を理解すれば応用範囲が広く、データ管理の効率が大きく向上します。


コメント