XLOOKUP関数の使い方を図解で徹底解説。VLOOKUPより簡単な基本構文から、エラー処理・スピル・複数条件の応用技まで、実務サンプル付きで今すぐ使えます。
この記事でわかること
- XLOOKUPの基本の使い方(コピペOKの数式付き)
- 受注管理表を使った実務シミュレーション
- #N/Aエラーをなくす方法
- スピル・複数条件など時短テクニック2選
- VLOOKUPとの使い分け判断基準
XLOOKUPとは?
XLOOKUP(エックス・ルックアップ)とは、Excelで「特定のデータを別の表から検索して表示する」関数です。 「商品IDを入れたら商品名が自動で出てくる」「社員番号から氏名と部署を一気に引っ張る」そういった作業がXLOOKUPひとつで完結します。
XLOOKUPはVLOOKUPを進化させた後継関数として位置づけられており、Microsoft公式サポートでもXLOOKUPとXMATCHの使用が推奨されています。(※)(※出典:Microsoft サポート「XLOOKUP 関数」)
| VLOOKUP | XLOOKUP | |
| 列番号の指定 | 必要(数えないといけない) | 不要 |
| 左側の列を取得 | ❌ できない | ✅ できる |
| エラー処理 | IFERROR関数が別途必要 | 数式内で完結 |
| 複数列の同時取得 | ❌ できない | ✅ できる(スピル) |
| 対応バージョン | Excel 2003〜 | Microsoft 365 / Excel 2021〜 |
XLOOKUPが使えるExcelのバージョン
Microsoft公式情報で、Excelで使えるバージョン情報をすべて確認しておきましょう。(※)
| バージョン | XLOOKUPの使用 |
| Microsoft 365(月次チャンネル) | ✅ 2020年3月31日より正式提供開始 |
| Excel 2021(永続ライセンス) | ✅ 利用可能 |
| Excel 2024 | ✅ 利用可能 |
| Excel for Web | ✅ 利用可能 |
| Excel 2019 | ❌ 利用不可 |
| Excel 2016以前 | ❌ 利用不可 |
(※出典:The Spreadsheet Guru「Which Excel Versions Have XLOOKUP Function?」)2020年3月31日に月次チャンネルへ正式リリースと記載
XLOOKUPの基本構文~覚えるのは3つだけ~
XLOOKUPの使い方で最初に覚えることはシンプルです。
=XLOOKUP(検索値, 検索範囲, 戻り範囲)
「何を探す?」「どこから探す?」「何を返す?」 この3つを順番に指定するだけ。VLOOKUPで必要だった「何列目か数える」作業はゼロです。
後ろには省略可能なオプション(見つからない場合の表示・一致モード・検索モード)が3つありますが、最初は気にしなくてOKです。基本の3つで実務の9割はカバーできます。(※)(※出典:Microsoft サポート「XLOOKUP 関数」)

【実務図解】受注管理表でXLOOKUPを使う方法
実際の操作を、営業部でよくある「受注管理表×商品マスタ」の例で確認しましょう。
【状況設定】
受注管理表にある「商品ID」を手がかりに、別タブの商品マスタから「商品名」と「単価」を自動で引っ張りたい。
受注管理表
| 受注No | 担当者 | 商品ID | 商品名 | 単価 |
| 1001 | 田中 | A003 | ? | ? |
| 1002 | 鈴木 | B011 | ? | ? |
商品マスタ(別タブ)
| 商品ID | 商品名 | 単価 |
| A001 | ノートPC | 98,000 |
| A003 | ワイヤレスマウス | 3,500 |
| B011 | 外付けSSD | 12,800 |
手順①「商品名」をXLOOKUPで表示する
- 商品名を表示したいセル(D3)をクリックして選択する
- 数式バーに =XLOOKUP( と入力する
- 受注管理表の商品ID(C3)をクリック → カンマ「,」を打つ
- 商品マスタの「商品ID列」(A列全体)を縦にドラッグして選択 → カンマ「,」を打つ
- 商品マスタの「商品名列」(B列全体)を縦にドラッグして選択
- 「)」を入力してEnterキーを押す → 完了
完成した数式:
=XLOOKUP(C3,商品マスタ!A3:A5,商品マスタ!B3:B5)
列番号を一切数えていないことに注目してください。 VLOOKUPなら「商品名は左から何列目だから…」と数えていた作業が、完全になくなります。


手順②「単価」も同じように取得する
=XLOOKUP(D3,商品マスタ!B3:B5,商品マスタ!C3:C5)
戻り範囲をE列(単価列)に変えるだけです。「E列が何列目か」を数える必要はありません。入力せず横にスライドするだけでも自動で設定されます。

XLOOKUPとVLOOKUPの決定的な違い
列の追加・削除に強い
商品マスタに新しい列(例:「メーカー名」)を挿入しても、XLOOKUPなら列ごと指定なので自動で正しい列を参照し続けます。VLOOKUPは「3列目」という数字指定のため、列の挿入でズレてエラーになります。
検索列より左のデータも取れる
VLOOKUPは「検索列より右のデータしか取れない」という制約がありました。XLOOKUPにはその制約がなく、検索値の左にある「担当部署」「登録日」なども自由に取得できます。(※)(※出典:Microsoft サポート「VLOOKUP、INDEX、またはMATCHを使って値を検索する」
もうIFERRORは不要!XLOOKUPのエラー処理の使い方
マスタに存在しない商品IDを入力したとき、VLOOKUPでは「#N/A」というエラーが表示されます。これを消すために =IFERROR(VLOOKUP(…), “登録なし”) という長い式で囲む必要がありました。
XLOOKUPでは、4つ目の入力欄(if_not_found)に表示したい文字を入れるだけで解決します。
=XLOOKUP(C5,商品マスタ!A5:A7,商品マスタ!B5:B7,"登録なし")
操作はこれだけです。
- 既存の数式の末尾「)」の前にカーソルを置く
- カンマ「,」を打って “登録なし” と入力する
- 「)」を入れてEnter



IFERRORとの比較
- VLOOKUP:=IFERROR(VLOOKUP(C5,商品マスタ!A5:A7,商品マスタ!B5:B7, 2, FALSE), “登録なし”) → 外側を別の関数で囲む必要あり
- XLOOKUP:=XLOOKUP(C5,商品マスタ!A5:A7,商品マスタ!B5:B7,”登録なし”)→ 1つの関数で完結
(※出典:Microsoft サポート「XLOOKUP 関数」 )
【時短テクニック2選】XLOOKUPの応用的な使い方
① 複数列を一度に取得する(スピル機能)
XLOOKUPは「商品名」と「単価」を別々に書く必要はありません。
戻り範囲を「商品名〜単価」の2列まとめて選択すると、1つの数式を入れただけで隣のセルにもデータが自動で広がります。これをExcelでは「スピル(Spill)」と呼びます。
=XLOOKUP(C3,商品マスタ!A3:A5,商品マスタ!B3:C5)
- D3に数式を入れると、E3(単価)も自動で埋まる
- ※スピルが広がるセルは空けておいてください(データが入っているとエラーになります)


(※出典:Microsoft サポート「XLOOKUP 関数」)
(Example 2:複数列を返す使い方として公式に記載)
② 複数条件(部門×氏名など)で検索する
こちらは同姓同名の社員がいて「営業部の鈴木さん」だけを特定したいケースで有効です。&(アンパサンド)で検索値と検索範囲をそれぞれつなぐだけで、2つの条件を組み合わせた検索ができます。
=XLOOKUP(B3&C3, F:F&G:G, H:H)
入力する場所
| 意味 | |
| B3&C3 | 「部門」と「氏名」を組み合わせて検索キーにする |
| F:F&G:G | 「部門列」と「氏名列」を組み合わせて検索する |
| H:H | 取得したいデータ(例:内線番号)の列 |
VLOOKUPのような「作業列(結合列)」を別途作る必要がありません。 表をスッキリ保ったまま複数条件検索が実現できます。

【知っておくべき】XLOOKUPの一致モードと検索モード
XLOOKUPには、基本の3つに加えて2つのオプションがあります。業務で使う場面が出てきたときのために把握しておきましょう。
一致モード
=XLOOKUP(検索値, 検索範囲, 戻り範囲, エラー時の値, 一致モード)
| 数値 | 動作 |
| 0(省略時) | 完全一致。入力した値と完全に同じものだけ探す |
| -1 | 完全一致がなければ、より小さい値で一番近いものを返す |
| 1 | 完全一致がなければ、より大きい値で一番近いものを返す |
| 2 | ワイルドカード一致。*や?を使った部分一致検索ができる |
「単価表で500円以下の最も近い価格帯を探す」など、価格交渉や在庫管理で役立ちます。
検索モード
| 数値 | 動作 |
| 1(省略時) | 上から順に検索(最初に見つかったものを返す) |
| -1 | 下から逆順に検索(最後に見つかったものを返す) |
同じ商品IDで複数の仕入れ履歴があるとき、「最新の仕入れ単価」を取りたい場合に -1 を指定すると最下行(最新行)から検索できます。(※)
(※出典:Microsoft サポート「XLOOKUP 関数」)
【注意】XLOOKUPが使えないケース(#NAME?エラー)
数式を入れたら #NAME? と表示された場合、そのExcelのバージョンがXLOOKUPに対応していません。
原因: Excel 2019以前の旧バージョンを使用している(Microsoft公式でExcel 2016・2019は非対応と明記)
対策:
- 自分のPC: Microsoft 365 または Excel 2021以降へのアップデートが必要
- 取引先へのファイル送付: 相手が旧バージョンを使っている可能性がある場合、VLOOKUPまたはINDEX+MATCHで代替する配慮が必要
【バージョン確認方法】
Excelを開き、「ファイル」→「アカウント」→「Excelのバージョン情報」で確認できます。Microsoft 365サブスクリプションであれば自動的に最新版が適用されます。(※)(※出典:Microsoft サポート「XLOOKUP 関数」)
よくある質問(FAQ)
Q. XLOOKUPはいつから使えますか?
A. Microsoft 365のサブスクリプションユーザーへは2020年3月31日に月次チャンネルで正式提供されました。永続ライセンスではExcel 2021以降が対象です。Excel 2019以前では使用できません。(※)(※出典:The Spreadsheet Guru「Which Excel Versions Have XLOOKUP Function?」)
Q. VLOOKUPとXLOOKUPはどちらを使えばいいですか?
A. 自分の環境がMicrosoft 365またはExcel 2021以降であればXLOOKUPを使うのがおすすめです。ただし、ファイルを共有する相手が旧バージョンのExcelを使っている場合はVLOOKUPが安全です。
Q. XLOOKUPでワイルドカード(部分一致)は使えますか?
A. 使えます。一致モードに 2 を指定すると、*(任意の文字列)や ?(任意の1文字)を使ったワイルドカード検索ができます。例:=XLOOKUP(“*マウス*”, F:F, G:G, “なし”, 2) で「マウス」を含む商品名を検索できます。(※)(※出典:Microsoft サポート「XLOOKUP 関数」)
Q. XLOOKUPとINDEX+MATCHはどちらが優れていますか?
A. 機能面ではほぼ同等ですが、XLOOKUPの方が記述がシンプルで直感的です。旧バージョンのExcelとの互換性を保ちたい場合はINDEX+MATCHが有効です。
まとめ:今すぐXLOOKUPを使ってみよう!
XLOOKUPは、VLOOKUPの「面倒」をすべて解消した関数です。
- 基本の3つ(検索値・検索範囲・戻り範囲)を選ぶだけで実務の9割はカバーできる
- 列番号を数える手間がゼロになる
- エラー処理も4つ目の欄に文字を追加するだけ
- スピルで複数列を一度に取得できる
- 複数条件の検索も & だけで完結する
Microsoft 365またはExcel 2021以降をお使いであれば、今日からすぐに切り替えられます。まずは「商品名を1つ引っ張る」だけの基本の型から試してみてください。







DIME MAGAZINE











