doodle-on-web

自分で調べたことや、仕事の中で質問されたことなどをまとめています。

【2026年最新】XLOOKUP関数の使い方完全ガイド|もう#REF!で悩まない実務応用10選

スポンサーリンク

「VLOOKUPで左側の列が取れない」「列番号を数え間違えて#REF!が出た」——Excelでデータ検索をしていて、こんなストレスを感じたことはありませんか?

その悩みを根本から解決してくれるのが、VLOOKUPの進化版とも言える XLOOKUP関数 です。Microsoftも公式でVLOOKUPからの移行を推奨しており、2026年6月現在、Microsoft 365・Excel 2021・Excel 2024(永続版)のいずれでも標準で使えます。

この記事では、基本構文から実務で役立つ応用10パターンまでを、すべてコピペで試せる数式付きで解説します。読み終えるころには、面倒だった検索作業が一段とシンプルになっているはずです。


XLOOKUPとは?VLOOKUPと何が違うのか

XLOOKUPは、VLOOKUP(縦方向)とHLOOKUP(横方向)の機能を1つに統合し、さらに弱点を解消した検索関数です。行・列を問わず、柔軟にデータを引っ張ってこられます。

主なメリットは次の3つです。

  • 左方向の検索ができる(検索列より左の値も取得可能)
  • 列番号の指定が不要(範囲をそのまま指定するだけ)
  • 見つからない場合の処理が引数だけで完結(IFERROR不要)

VLOOKUPとの比較表

▼ VLOOKUPとXLOOKUPの違いをまとめた早見表です。

項目 VLOOKUP XLOOKUP
左方向検索 ×
列番号指定 必要 不要
列の増減の影響 受けやすい 受けにくい
該当なしの処理 IFERRORが必要 第4引数で設定
検索方向 上からのみ 上から/下から選択可

VLOOKUPは表に列を挿入すると参照がズレやすいのに対し、XLOOKUPは範囲を直接指定するため壊れにくく、メンテナンス性が高いのが特長です。


基本構文と引数

=XLOOKUP(検索値, 検索範囲, 戻り範囲, [見つからない場合], [一致モード], [検索方向])
引数 意味
検索値 探したい値
検索範囲 検索する列・行
戻り範囲 返したい値の列・行
[見つからない場合] ヒットしなかった時に返す値(省略可)
[一致モード] 0=完全一致 / -1=検索値以下で最も近い値 / 1=検索値以上で最も近い値 / 2=ワイルドカード
[検索方向] 1=先頭から / -1=末尾から

第4引数以降は省略可能で、省略時は「完全一致・先頭から検索」で動きます。


実務で使えるXLOOKUP応用10選

① 完全一致検索(最も基本)

商品コードから商品名を取得する基本形。マスタ参照全般に効きます。

=XLOOKUP("A102", A2:A10, B2:B10, "該当なし", 0)

② 近似一致検索(〜以下で最も近い値)

一致モード-1は「検索値以下で最も近い値」を返します。たとえば検索値80に対し、しきい値が70・80・90なら80の行を、85なら80の行を返します。送料区分・税率・成績判定に便利です。

=XLOOKUP(80, A2:A10, B2:B10, "該当なし", -1)

③ 横方向(水平)検索

HLOOKUPの代わりに、見出し行から該当列を探します。月別データの抽出に。

=XLOOKUP("4月", B1:G1, B2:G2)

④ ワイルドカード(部分一致)検索

一致モードに2を指定すると曖昧検索ができます。表記ゆれのある名称検索に。

=XLOOKUP("*りんご*", A2:A10, B2:B10, "該当なし", 2)

*=任意の文字列、?=任意の1文字。

⑤ 該当なしメッセージの表示

第4引数にメッセージを入れるだけ。IFERRORは不要です。入力ミスのフォローに。

=XLOOKUP("Z999", A2:A10, B2:B10, "データがありません")

⑥ 複数条件検索

複数キーを&で連結して照合します。「店舗×商品」など複合キーの絞り込みに。

=XLOOKUP("A102東京", A2:A10&B2:B10, C2:C10)

※ 該当が複数ある場合は最初の一致を返します。重複データには⑦の末尾検索やFILTER関数の併用が有効です。

⑦ 最新(最後)の値を取得

検索方向に-1を指定すると末尾から検索し、最新の履歴を取れます。更新ログの最終値取得に。

=XLOOKUP("A102", A2:A100, B2:B100, , 0, -1)

⑧ シフト表:日付×部署で担当者を検索

日付と部署を連結キーにして、該当する担当者を引き当てます。

=XLOOKUP("2026/6/15"&"営業部", A2:A100&B2:B100, C2:C100, "未割当")

⑨ 売上表:末尾検索で最新月の売上を取得

同じ商品コードの行が複数並ぶ集計表で、検索方向-1を使えば直近月の売上だけを抜き出せます。

=XLOOKUP("A102", A2:A100, C2:C100, "実績なし", 0, -1)

⑩ 在庫表:最終入荷日を抽出

入荷履歴が積み上がる表から、末尾検索で最後に入荷した日付を取得します。

=XLOOKUP("A102", A2:A100, D2:D100, "履歴なし", 0, -1)

使う前に知っておきたい環境の注意点

  • &による連結(⑥⑧)やスピル前提の数式は、Microsoft 365 / Excel 2021・2024で快適に動作します。
  • 古い挙動の環境では、連結を含む数式を確定する際にCtrl+Shift+Enter(配列数式)が必要なケースがあります。意図どおり動かないときはこの確定方法を試してください。
  • より高度な複数行抽出をしたい場合はFILTER関数やスピルが向いています(詳しくは別記事で解説予定です)。

まとめ:今日から置き換えるべき3つの機能

XLOOKUPは、VLOOKUP・HLOOKUPの弱点をまとめて解消し、検索作業を大幅に効率化してくれます。特に押さえておきたいのは次の3点です。

  1. 左方向検索 … 表のレイアウトに縛られず値を取得できる
  2. 該当なしメッセージ(第4引数) … IFERRORなしでエラー表示を制御
  3. 複数条件・末尾検索 … 実務の「絞り込み」「最新取得」に直結

まずは普段VLOOKUPを使っている数式を、1つだけXLOOKUPに置き換えてみてください。列の挿入で参照が崩れる心配が減り、#REF!に悩まされる場面も確実に減っていきます。小さな置き換えの積み重ねが、日々の作業時間を着実に削ってくれるはずです。


あわせてチェック