XLOOKUP 基本編:構文と動作を完全理解する

📚 XLOOKUPシリーズ

  • ① 基本編(このページ)― 構文・引数・動作イメージ
  • ② 応用編 ― 複数列返却・第5/6引数・後ろから検索
  • ③ 比較編 ― vs VLOOKUP・INDEX+MATCH の徹底比較
  • ④ 多条件検索編 ― XLOOKUPネストで複数条件

💡 やりたいこと

表の中から特定のキー(IDなど)を探し出し、対応する別の列のデータを引っ張ってきたい。

XLOOKUP の基本構文

VLOOKUPの数々の弱点を克服した、現代Excelにおける最強の検索関数です。

=XLOOKUP(検索値, 検索配列, 戻り配列, [見つからない場合], [一致モード], [検索モード])
=XLOOKUP(A2, D:D, E:E, "未登録")

意味:A2の値をD列で探し、見つかったらE列の値を返す。もし無ければ「未登録」と表示する。
第5・第6引数は省略可能(省略時は完全一致・先頭から線形検索)。

引数の詳細

データテーブル
引数 名称 必須 説明
第1引数 検索値 必須 探したい値(セル参照・文字列・数値など)
第2引数 検索配列 必須 検索値を探す列(または行)の範囲
第3引数 戻り配列 必須 結果として返したい列(または行)の範囲。複数列もOK
第4引数 見つからない場合 省略可 一致しなかった場合に返す値。省略すると #N/A エラー
第5引数 一致モード 省略可 0=完全一致(既定)、-1=以下近似、1=以上近似、2=ワイルドカード
第6引数 検索モード 省略可 1=先頭から(既定)、-1=末尾から、2=バイナリ昇順、-2=バイナリ降順
💡 まずは第1〜第4引数だけを覚えれば、日常業務の9割はカバーできます。
第5・第6引数の詳細は 応用編 で解説しています。

動作イメージ(完全一致・基本)

動作イメージ
① 検索値を入力 & 数式を記述
データテーブル
A B
1 社員ID 氏名
2 1002 =XLOOKUP(A2,
D:D,E:E,
"未登録")
3
② D列を上から順に検索
データテーブル
D E
1 社員ID 氏名
2 1001 (違う) 田中 太郎
3 1002 (見つけた!) 鈴木 花子
4 1003 佐藤 健
③ 結果が B2 に返る
データテーブル
A B
1 社員ID 氏名
2 1002 鈴木 花子
3
🟡 黄:検索値(入力セル)  🟢 緑:数式セル/結果  🟠 橙:マスタ表でヒットした行
※ 検索の基本として「上から下へ(↓)順番に探していく」という仕組みをイメージすると理解しやすくなります。

📝 #N/A エラーを第4引数で回避する

XLOOKUPの最大の便利ポイントの1つが、エラー回避を引数の中だけで完結できることです。

=XLOOKUP(A2, D:D, E:E)   ← 見つからないと #N/A エラー
=XLOOKUP(A2, D:D, E:E, "未登録") ← 見つからないと "未登録"
=XLOOKUP(A2, D:D, E:E, "")  ← 見つからないと 空白
✅ VLOOKUPでは =IFERROR(VLOOKUP(…), "未登録") のように外側にIFERRORをネストする必要がありましたが、 XLOOKUPでは第4引数に直接書くだけで済みます。数式がシンプルになり、修正も楽です。

📝 右側・左側どちらでも検索できる

VLOOKUPは「検索キーが表の一番左にないといけない」という縛りがありましたが、XLOOKUPはその制限がありません。

例:E列(氏名)で検索して、左側のD列(社員ID)を取得

=XLOOKUP("鈴木 花子", E:E, D:D, "未登録")

検索配列(E列)と戻り配列(D列)は、どの列の組み合わせでも自由に指定できます。

⚠️ VLOOKUPで左側を取得するには =INDEX(D:D, MATCH("鈴木 花子", E:E, 0)) のような複雑な書き方が必要でした。XLOOKUPはこれを劇的にシンプルにしました。

📚 XLOOKUPシリーズ ― 次のステップへ

  • ① 基本編(このページ)
  • ② 応用編 ― 複数列まとめて返す・高速検索の使い方
  • ③ 比較編 ― VLOOKUP・INDEX+MATCHとどう使い分けるか
  • ④ 多条件検索編 ― XLOOKUPネストで複数条件を検索