【エクセル関数】VLOOK / XLOOK / INDEX + MATCH の違いと使い分け
・VLOOKUP(ブイルックアップ)
・XLOOKUP(エックスルックアップ)
・INDEX + MATCH(インデックスマッチ)
何が違ってどれを使えばいいのか? を簡潔に解説します
結論、
「XLOOKUP」が使えるなら「XLOOKUP」でほとんど事足りる。
「XLOOKUP」が使えないバージョンなら、
「VLOOKUP」を使えば良い。でも 左側にある値は検索抽出できない。
左側にある値を検索抽出したい、行方向↓に検索抽出したい場合は
「INDEX+MATCH」を使う。
簡単にまとめると、
・「XLOOKUP」は使いやすくて何でもできるが、古いバージョンでは使えない
・「VLOOKUP」は 「XLOOKUP」の下位互換で、どのバージョンでも使える。
・「INDEX+MATCH」は癖が強いが万能で、どのバージョンでも使える。
記事では、
使用頻度の高いであろう、列方向→ のデータ抽出を例に解説します
よくある使い方の動画(音声はありません)
サンプルダウンロード
説明に使用しているエクセルファイルです
主な違い5つ
対応バージョン
- VLOOKUP
-
全バージョンで使用可能
- XLOOKUP
-
Excel 365 以降のバージョンでのみ使用可能
- INDEX + MATCH
-
全バージョンで使用可能
検索方法(方向)
- VLOOKUP
-
列方向 への検索が可能
検索値に対し左方向への検索はできない
- XLOOKUP
-
列方向・行方向 どちらからも検索が可能
検索値に対し左方向への検索が可能
- INDEX + MATCH
-
列方向・行方向 どちらからも検索が可能
検索値に対し左方向への検索が可能
近似検索
近似検索 :検索範囲内で、指定した値に最も近い値を取得すること。ただし、検索範囲に指定した値に一致する値が存在する場合 その値が返る。
- VLOOKUP
-
近似検索に対応
- XLOOKUP
-
近似検索に対応
- INDEX + MATCH
-
可能だが、複雑な式になってしまう
複数列の検索
- VLOOKUP
-
不可能。単一の列からのみ検索できる
- XLOOKUP
-
可能。複数列から検索できるが、範囲を選択する必要がある
- INDEX + MATCH
-
可能。複数列から検索する場合でも簡単に式を作成することができる
計算速度
- VLOOKUP
-
大きなデータに対しては遅くなる傾向がある
- XLOOKUP
-
高速
- INDEX + MATCH
-
高速
関数の書き方例
VLOOKUP
=VLOOKUP($H4,$B$4:$E$26,3)
=VLOOKUP( 検索値 , 表範囲 , 表範囲の何列目を抽出? )
XLOOKUP
=XLOOKUP($H6,$B$4:$B$26,$D$4:$D$26)
=XLOOKUP( 検索値 , 検索範囲 , 抽出範囲 )
INDEX + MATCH
=INDEX($B$4:$E$26,MATCH($H8,$B$4:$B$26,0),3)
=INDEX( 表範囲 , MATCH( 検索値 , 検索範囲 , 0 ), 表範囲の何列目を抽出? )
結論:ざっくりな使い分け
「XLOOKUP」が使えるなら、
・「XLOOKUP」で十分な事がほとんど。
「XLOOKUP」が使えないなら、
・「VLOOKUP」を使って基本的な検索ならできる。
・「INDEX+MATCH」は より高度な検索機能を必要とする場合に使用する。