
「VLOOKUPでは左側の列を参照できない…」
「エラー表示ばかりになって、どこが間違っているのか分かりにくい…」
そんなモヤモヤを解消してくれるのが XLOOKUP関数 です。
XLOOKUPは、従来のVLOOKUPやHLOOKUPの機能を引き継ぎつつ、
- 参照方向の自由度
- エラー時の表示
- 検索方向(前から/後ろから)
などを、1つの関数でまとめて扱えるようにした「新世代の検索関数」です。
この記事では、XLOOKUP関数の構文と基本操作、VLOOKUPとの違い、日常業務で使いやすい応用例まで流れで整理していきます。
XLOOKUP関数とは?
- 読み方:エックス・ルックアップ関数
- 用途:任意の列・行から、条件に一致する値を検索して取り出す関数
縦方向・横方向どちらにも対応でき、「どの列からどの列へ」でも柔軟に参照できる のが特徴です。
構文
=XLOOKUP(検索値, 検索範囲, 戻り値範囲, [見つからないときの値], [一致モード], [検索モード])
| 引数 | 内容 |
|---|---|
| 検索値 | 探したい値(セル参照や数値・文字列など) |
| 検索範囲 | 検索対象となるセル範囲 |
| 戻り値範囲 | 一致したときに値を返すセル範囲 |
| 見つからないときの値 | 見つからなかった場合に返す値(例:”該当なし”) |
| 一致モード | 完全一致/近似一致などの指定(省略時は完全一致) |
| 検索モード | 上から/下からなど、検索方向の指定 |
基本的な使い方
例1:社員番号に応じて名前を表示

=XLOOKUP(A2, A5:A10, B5:B10)
- A2:検索したい社員番号
- A5:A10:社員番号の一覧(検索範囲)
- B5:B10:氏名の一覧(戻り値範囲)
A2の社員番号に一致する行を検索し、同じ行のB列にある氏名を返します。
例2:検索に失敗した場合は「該当なし」と表示

=XLOOKUP(A2, A5:A10, B5:B10, "該当なし")
見つからなかったときに #N/A を出さず、IFERRORを使わなくても1行でエラー処理まで書ける のが便利なポイントです。
VLOOKUP関数との違い
| 比較項目 | VLOOKUP | XLOOKUP |
|---|---|---|
| 参照方向 | 左 → 右 のみ | 左右どちらでも指定可能 |
| 列番号の指定 | 列番号(3 など)を数値で指定 | 返したい範囲そのものを指定 |
| 検索失敗時 | #N/Aエラー | 任意のメッセージ(例:”該当なし”)を返せる |
| 列の挿入/削除 | 列構成が変わると結果がズレやすい | 範囲参照のため、列の増減に比較的強い |
| 水平方向の検索 | HLOOKUPを別途使用 | 同じXLOOKUPで行方向を指定して対応可能 |
従来の「VLOOKUP+HLOOKUP+IFERROR」で組んでいたロジックを、XLOOKUP1つに置き換えられる場面 も多くあります。
応用パターン
1. 後方検索(下から上に向かって検索)

同じ値が複数行に存在し、「最後に入力されたデータを拾いたい」ときのパターンです。
=XLOOKUP(1001, A5:A20, B5:B20, "該当なし", 0, -1)
- 一致モード:0(完全一致)
- 検索モード:-1(下から上へ検索)
これで、A5:A20の中から「1001」を下から上に向かって探し、最後の一致に対応するB列の値を返します。
2. 行方向の検索(HLOOKUPの代替)

=XLOOKUP("3月", A1:F1, A2:F2)
- A1:F1:見出し行(例:1月〜6月)
- A2:F2:売上や数量などのデータ行
1行目から「3月」を探し、同じ列の2行目の値を返します。
HLOOKUPを覚えなくても、XLOOKUPだけで横方向の検索までまとめて扱えます。
3. 数値に応じた等級の表示(近似一致)

=XLOOKUP(85, {0,70,90}, {"C","B","A"}, , 1)
- 0点以上70点未満 → C
- 70点以上90点未満 → B
- 90点以上 → A
のように、点数レンジごとに等級を割り当てることもできます。
簡易的な評価表や料金区分などで便利です。
注意点と使い方のコツ
- 対応バージョンに注意
Excel 365/Excel 2019以降で利用できます。2016以前では使用できません。 - 検索範囲と戻り値範囲のサイズは揃える
行数(または列数)が揃っていないとエラーになるため、同じサイズの範囲を指定します。 - 一致モード・検索モードを必要なときだけ指定する
まずは「完全一致」のシンプルな使い方に慣れ、必要になったら徐々にオプションを使うイメージが無理がありません。
XLOOKUPを大量の行に使うと、ブック全体の再計算が重くなることがあります。
「最近Excelファイル自体が重い・固まりやすい」と感じる場合は、
関数以外の原因も含めてチェックできるまとめ記事も参考にしてみてください。
→ 【Excel】ファイルが重い・固まるときの原因と対処法まとめ|関数・画像・UsedRange・共有設定を一気に見直す
関連記事
まとめ|XLOOKUP関数でより柔軟な検索処理を実現しよう
XLOOKUP関数は、
- 列の前後を気にせず検索できる
- エラー処理を1行で書ける
- 前から/後ろから・縦横どちらの検索にも対応できる
といった点で、これからのExcel業務の「標準的な検索関数」として使っていける機能です。
対応バージョンをお使いであれば、既存のVLOOKUP・HLOOKUPの数式を少しずつXLOOKUPに置き換えていくことで、壊れにくくメンテナンスしやすい表 にしていけます。
Tamaglo最後までお読みいただきありがとうございました。



コメント
※ コメントは確認後に公開されます。反映まで少し時間がかかる場合があります。