Excelで大量のデータを処理する際、指定した値を検索して別の列からデータを引っ張ってくる作業は日常茶飯事ですよね。これまではVLOOKUP関数を使うのが常識でしたが、最近になってXLOOKUP関数という非常に強力な新しい関数が登場し、多くのユーザーを驚かせています。この記事では、XLOOKUP関数の基本的な使い方から、VLOOKUPとの決定的な違い、そしてよくあるエラーの回避方法までを分かりやすく解説します。これまでVLOOKUPの細かな制約に悩まされていた方も、この記事を読めばXLOOKUPの圧倒的な便利さに気づき、明日の業務からすぐに活用できるようになるはずです。
記事のポイント
- XLOOKUP関数の基本的な構文と直感的な使い方
- VLOOKUP関数にはできなかった3つの決定的な違い
- エラーが出た原因の特定と簡単な対策方法
- 古いExcelとの互換性によるトラブル回避法

XLOOKUP関数の基本的な使い方と構文
まずは、XLOOKUP関数がいかにシンプルで使いやすいか、その基本となる構文と実際の入力手順から確認していきましょう。
直感的にわかる3つの必須引数
XLOOKUP関数は、最大で6つの引数を持っていますが、普段の業務で必ず使うのは最初の3つだけです。これさえ覚えてしまえば、誰でもすぐに使いこなすことができます。
例えば、「商品コード」を元に「商品名」を検索したい場合は、以下のように記述します。
- 検索値: 探したい商品コードが入っているセルを指定(例:A2)
- 検索範囲: 商品コードが並んでいる列を丸ごと指定(例:マスタシートのA列)
- 戻り値の範囲: 抽出したい商品名が並んでいる列を丸ごと指定(例:マスタシート of B列)
これだけで完了です。VLOOKUPのように「指定した範囲の左から何列目か」を自分で数える必要は一切ありません。
複数列を一括で取り出す(スピル機能)
ExcelでXLOOKUPを使う大きな恩恵の一つが、「スピル機能」との連動です。戻り値の範囲を複数列(例えば、B列からD列まで全体)で指定すると、1つのセルに数式を入力するだけで、隣り合うセルにも自動的に「商品名」「単価」「在庫数」といったデータが流し込まれ(スピルし)ます。何度もVLOOKUPを入力する必要はもうありません。
引数ごとの役割の詳細解説
XLOOKUPの引数をもう少し詳しく見ておきましょう。必須の3つに加えて、オプション機能も非常に優秀です。
| 引数(順番) | 必須/任意 | 役割の解説 |
|---|---|---|
| 第1引数:検索値 | 必須 | 探したいキーとなる値です。 |
| 第2引数:検索範囲 | 必須 | 検索値を探す列(または行)を指定します。 |
| 第3引数:戻り値の範囲 | 必須 | 実際に表示させたいデータがある列を指定します。 |
| 第4引数:見つからない場合 | 任意 | 検索値が存在しない時に表示する文字("該当なし"など)を指定します。 |
| 第5引数:一致モード | 任意 | 完全一致か近似値一致かを選びます(省略時は自動的に完全一致になります)。 |
| 第6引数:検索モード | 任意 | 上から探すか、下から探すかなどを指定します。 |
特に第5引数の「一致モード」は、VLOOKUPでは末尾に「FALSE」や「0」を入れないと近似値検索になってしまうという罠がありましたが、XLOOKUPでは省略すれば勝手に完全一致として動作してくれます。これが入力ミスを減らす大きな要因ですね。
VLOOKUP関数との決定的な3つの違い
「今までVLOOKUPで問題なかったから、わざわざ新しい関数を覚える必要ある?」と感じる方もいるかもしれません。しかし、両者には業務効率を大きく変える決定的な違いが存在します。
1. 左側にあるデータも検索可能
これがVLOOKUP最大の弱点にして、XLOOKUP最大のメリットです。VLOOKUPは構造上、検索値のある列よりも「右側」にあるデータしか抽出できませんでした。
しかし、XLOOKUPは検索範囲と戻り値の範囲を完全に独立して指定するため、検索値の左側にある列でも全く問題なくデータを引っ張ってこれます。わざわざマスタデータの列を入れ替えるという無駄な作業が一切なくなります。
2. 列を挿入しても数式が壊れない
VLOOKUPを使っていて、参照先のマスタデータに新しい列を挿入した瞬間、表示されるデータがズレてしまった経験はありませんか?あれはVLOOKUPが「左から〇列目」という絶対的な数字で列を指定しているからです。
XLOOKUPは列そのもの(例えばC列全体など)を戻り値の範囲として指定しているため、間に新しい列が挿入されても自動的に参照範囲が追従し、数式が壊れることはありません。
3. エラー回避(IFERROR)が不要になる
VLOOKUPで検索値が見つからないと、おなじみの「#N/A」エラーが表示されてしまいます。これを隠すために、これまでは関数全体をIFERRORで囲むという面倒な対応が必須でした。
XLOOKUPでは、第4引数にエラー時の表示文字を設定できます。=XLOOKUP (A2, B:B, C:C, "未登録")のように書くだけで、見つからなかった場合は自動的に「未登録」と表示され、数式が驚くほどスッキリします。エラー対策については、以下の記事でも詳しく解説していますので参考にしてみてくださいね。
XLOOKUPでよくあるエラーと対策
非常に優秀なXLOOKUPですが、それでもエラーが出てしまうケースがあります。ここでは現場でよく発生するトラブルとその解決策をまとめました。
#NAME? エラーになる場合の対処法
XLOOKUP関数は「Microsoft 365」または「Excel 2021」以降のバージョンでのみ使用可能です。
もしあなたの画面、あるいはファイルを共有した相手の画面で#NAME?エラーが出ている場合、それは単純に関数がインストールされているExcelのバージョンに対応していないことが原因です。この関数名自体が「存在しない無効な名前」として処理されてしまっている状態ですね。
このように、社外の人とファイルをやり取りする環境では、相手のバージョンが確約できない限りは従来通りVLOOKUPを使う方が安全なケースもあります。
#N/A エラーになる場合の対処法
XLOOKUP自体は正しく入力できているのに#N/Aが出る場合、最も疑うべきは検索値と検索範囲のデータ型の不一致です。
XLOOKUPをさらに使いこなすためのステップ
XLOOKUPは、これまでのExcel業務の常識を覆すほど便利な関数です。左側検索ができ、列の挿入にも強く、エラー処理まで内包しているため、一度使い始めるともうVLOOKUPには戻れません。
ただ、関数やマクロを独学で学んでいると、どうしても特定の機能でつまずいたり、より効率的な組み方があることに気づかないまま遠回りをしてしまうこともあります。
Excelのスキルを体系的に学び直し、業務の自動化や効率化をさらに一段階レベルアップさせたい場合は、Udemyのようなオンライン学習プラットフォームを活用するのも非常におすすめです。実務に直結するプロのノウハウを動画で効率よく吸収できるので、独学で悩む時間を大幅に削減できますよ。正確な最新の仕様変更等については公式サイトも併せてご確認ください。
スプレッドシート/Excel仕事効率化・数式講座
「動画だからExcel・スプレッドシートの数式や関数の挙動がスッと理解できる」。実務直結のテクニックを網羅し、日々の残業時間を一気に削減しましょう。
スプレッドシート/Excel仕事効率化・数式講座
「動画だからExcel・スプレッドシートの数式や関数の挙動がスッと理解できる」。実務直結のテクニックを網羅し、日々の残業時間を一気に削減しましょう。