VLOOKUPは便利ですが、「列番号を数えないといけない」「検索値より左の列は取り出せない」といった不便さがありました。これを解消した関数が XLOOKUP(エックスルックアップ)です。
この記事では、XLOOKUPの基本の書き方と、見つからないときの表示の指定、VLOOKUPとの違いを図解で説明します。
=XLOOKUP(検索値,検索範囲,戻り範囲,見つからない場合)
XLOOKUP関数の基本の書き方
XLOOKUP関数は、「検索範囲」から検索値を探し、「戻り範囲」の同じ位置にある値を返します。
- 検索値:探したい値(コードや名前など)
- 検索範囲:検索値を探す列(1列だけを指定します)
- 戻り範囲:結果として取り出したい列
- 見つからない場合:検索値がないときに表示する値(省略できます)

- 結果を表示したいセル(E2)を選び「=XLOOKUP(」と入力する
- 検索値(D2)を選び、カンマを入れる
- 検索範囲(A2:A5)をドラッグして選び、カンマを入れる
- 戻り範囲(B2:B5)をドラッグして選び、カンマを入れる
- 見つからないときの表示「”未登録”」を入力し、「)」で閉じて Enter を押す
見つからない場合の表示を指定する
VLOOKUPでは、探している値がないと「#N/A」が表示され、消すにはIFERRORを組み合わせる必要がありました。XLOOKUPは4つ目の引数で指定するだけです。
4つ目の引数を省略すると、VLOOKUPと同じように「#N/A」が表示されます。空白にしたいときは、「””」と入力します。
=XLOOKUP(D2,A2:A5,B2:B5,"")
検索値より左の列を取り出す
VLOOKUPは、検索値の列より右にある列しか取り出せません。XLOOKUPなら、検索範囲と戻り範囲を別々に指定するので、左側の列も取り出せます。

VLOOKUPとの違い
| 比較項目 | VLOOKUP | XLOOKUP |
|---|---|---|
| 列の指定 | 列番号(数える必要あり) | 戻り範囲を直接選ぶ |
| 左の列の取得 | できない | できる |
| 検索方法の初期値 | 近似一致(FALSEの指定が必要) | 完全一致 |
| 見つからない場合 | #N/Aになる(IFERRORが必要) | 4つ目の引数で指定できる |
| 対応バージョン | すべて | Microsoft 365・Excel 2021以降 |
XLOOKUPが使えないとき
Excel 2019以前では、XLOOKUPは使えません。式を入力すると「#NAME?」と表示されます。ファイルを共有する相手のバージョンが古い可能性があるときは、VLOOKUPやINDEX+MATCHを使うほうが安全です。
まとめ
- XLOOKUPは「=XLOOKUP(検索値,検索範囲,戻り範囲,見つからない場合)」で書く
- 列番号を数える必要がなく、列を挿入しても式が壊れにくい
- 検索値より左の列も取り出せる
- 見つからない場合の表示を、IFERRORなしで指定できる
- Excel 2019以前では使えないため、共有相手のバージョンに注意する
Microsoft 365やExcel 2021以降の環境なら、VLOOKUPからXLOOKUPに切り替えるだけで、式が読みやすくなります。


コメント