XLOOKUPとVLOOKUPの違い
よく比較される二つの検索関数を、構文・違い・よくあるミスで並べました。読んだら練習ホールでそれぞれ一問書いてみましょう。
構文の対照
VLOOKUP(すべてのバージョン)
=VLOOKUP(key, table, col, FALSE) key:先頭列で探す値 · table:キーと結果を含む表 · col:結果の列番号 · FALSE:完全一致
XLOOKUP(Excel 2021+/365)
=XLOOKUP(key, lookup_array, return_array) key:探す値 · lookup_array:キーの列 · return_array:結果の列(左右どちらも可)
挙動の違い
| 項目 | VLOOKUP | XLOOKUP |
|---|---|---|
| 検索方向 | 左から右のみ | 任意方向(左も可) |
| 返す列 | 列番号(インデックス) | 返す範囲を直接指定 |
| 既定の一致 | 近似一致(完全は FALSE) | 完全一致 |
| 表に列を挿入 | 番号がずれて結果が壊れる | 影響なし |
| 見つからないとき | #N/A を返す | 第 4 引数 if_not_found で代替値を指定可 |
| 対応バージョン | すべて | Excel 2021+/365、Google スプレッドシート |
よくあるエラーと直し方
| 症状 | 原因 | 対処 |
|---|---|---|
#N/A | キーが無い、または範囲がロックされず下方向コピーでずれた | データがあるか確認;$ で表を固定;IFNA/IFERROR で代替値を付ける |
違う行の値が返る | FALSE を忘れ近似一致になった | VLOOKUP の末尾は必ず FALSE(XLOOKUP は既定が完全一致) |
#REF! | 列番号が表の幅を超えている | 番号は表の先頭列から数える(シート全体の列番号ではない) |
下へコピーすると全部ずれる | 相対参照で検索範囲ごとスライドした | 元の表を $A$2:$C$6 で固定し、キーだけ相対のままにする |
今すぐ一問書く
練習ホールに両関数の問題があります。ロックされた小さな表で書き、その場で採点されます。
よくある質問
XLOOKUP と VLOOKUP、どちらを使うべき?
バージョンが対応していて左方向の検索が必要なら XLOOKUP:列番号不要、既定が完全一致、列挿入にも強い。古い Excel や互換が必要なら VLOOKUP を使い、末尾は必ず FALSE にします。
VLOOKUP が #N/A を返すときは?
=IFNA(VLOOKUP(…), "見つかりません") で見つからないときだけ置き換えられます。IFERROR はすべてのエラーを隠すので注意。意味のある代替テキストの方がレポートには向きます。
XLOOKUP は INDEX+MATCH の代わりになりますか?
機能的にははい:=XLOOKUP(E2, C2:C6, A2:A6) は =INDEX(A2:A6, MATCH(E2, C2:C6, 0)) と同じです。面接では INDEX+MATCH も出やすいので、両方書けると安心です。