Excelでデータを探したり別の列から情報を引き出したりする作業は日常的ですが、XLOOKUP関数を使えばこの処理が格段に効率化します。旧来のVLOOKUPやHLOOKUPの制限を超えて、左右どちらの方向にも検索可能、検索モードや一致モードも細かく指定でき、自動で複数列を返すことまでできる最新情報です。この記事ではExcel XLOOKUP 使い方 基本をマスターするために必要な構文から応用、比較まで丁寧に解説しますので、初心者から中級者まで確実に「使える知識」が身につきます。
目次
Excel XLOOKUP 使い方 基本の構文と引数解説
XLOOKUP関数の使い方の基本は、まず関数の構文とそれを構成する引数を正しく理解することです。ExcelでXLOOKUPは3つの必須の引数と3つの任意の引数を持ち、これらを組み合わせることで柔軟な検索が可能になります。構文を間違えると望ましい結果が返らなかったり、エラーになったりしますので、この章で基本形をしっかり押さえておきましょう。最新情報にもとづき、Excelの最新版環境での動作を前提に説明します。
構文(Syntax)の基本
XLOOKUP関数は「検索値」「検索範囲」「戻り範囲」の三つが必須です。具体的には、 =XLOOKUP(lookup_value, lookup_array, return_array) の形になります。検索値は調べたいデータ、検索範囲は探す列や行、戻り範囲は見つかったとき返したい列や行を指定します。戻り範囲は検索範囲と同じ行数または列数でなければエラーになりますので、範囲の対応関係は重要です。
引数 if_not_found 一致モード match_mode の使い方
if_not_foundは検索結果が見つからなかったときに表示する文字列や値を設定できる任意の引数で、これがないと#N/Aが表示されます。一致モード(match_mode)は検索時の一致の仕方を制御し、0で完全一致、−1で完全一致または次に小さい値、1で完全一致または次に大きい値、2でワイルドカード一致などを指定できます。この指定によりあいまい検索や近似検索など幅広く対応可能です。
検索モード search_mode のオプション
search_modeは検索の方向や方式を制御する任意の引数で、1は最初から最後へ、−1は最後から最初へ検索するモードです。また、2と−2を使うと昇順または降順にソートされたデータで高速なバイナリ検索ができます。データがソートされていない場合にバイナリ検索を使うと誤った結果になる恐れがありますので注意が必要です。
XLOOKUPを使って検索を実行する基本的な例

XLOOKUPの使い方基本を理解したら、具体的な例を通じてどのように使うかを学ぶことが理解を深める近道です。この章では、実務的によくあるシナリオを使って、完全一致検索・近似一致検索・ワイルドカード検索・左右検索などを実際に構築する方法を解説します。最新のExcel環境で動く例を中心に説明しますので、実際の操作にもそのまま応用できる内容です。
完全一致検索の実例
たとえば、社員番号から氏名を取得するケースを考えます。社員番号A2を検索範囲D列で探し、該当する氏名をE列から取得するには、 =XLOOKUP(A2, D:D, E:E, “未登録”) のように記述します。この式では完全一致がデフォルトで使われ、もし検索値が見つからない場合に「未登録」という文字を返すよう設定しています。
近似一致検索の実例(数量テーブルなど)
価格表や数量テーブルなど、値がぴったり一致しない場合に最も近い値を取得したいときがあります。このような場合はmatch_modeに−1または1を指定します。例えば、注文数量がどこに分類されるか決定する価格ランク表で、 =XLOOKUP(E5, B5:B9, C5:C9, “なし”, −1) のように書くと、検索値がテーブルにない場合は直下または直上のランクが返されます。
ワイルドカード検索の実例
部分的な文字列のみわかる場合、ワイルドカードを使った検索が有効です。たとえば、商品名の一部を入力して一致する商品を取得するとき、 match_modeに2を指定して、lookup_valueに「Apple*」のような書き方をします。 =XLOOKUP(“Apple*”, A:A, B:B, “該当なし”, 2) と記述すれば、「Apple」で始まるものを検索できます。
左右検索や複数列返却の実例
従来のVLOOKUPでは、検索列の左には戻り値の列を指定できませんでしたが、XLOOKUPでは任意の方向が使えます。検索範囲がB列、戻り範囲がA列というように左右を逆に指定することもできます。また、戻り範囲を複数列指定することで複数の値を一度に返すことも可能です。これにより、テーブルの一行をまとめて取得するような操作が簡単になります。
XLOOKUPと旧来の関数の比較:どちらを使うべきか

XLOOKUPをマスターする際には、VLOOKUPやINDEX+MATCHなど従来の検索方法との違いと使い分けを知っておくことが重要です。この章ではそれらとの比較に焦点を当て、どの状況でXLOOKUPが有利か、また注意点や互換性の問題を含めて解説します。検索意図に応じて適切な関数を選べるようになります。
XLOOKUP vs VLOOKUP の主な違い
VLOOKUPは検索範囲がテーブルの左側に限定され、戻り値の列番号を指定するため、列の挿入や削除でエラーを起こしやすいです。対してXLOOKUPは検索範囲と戻り範囲を個別に指定でき、左右どちらの方向にも検索可能であり、構造変更に強い利点があります。また、XLOOKUPは一致モードや検索モード、なしの時の返却値などを柔軟に指定できる点も大きな差です。
INDEX+MATCHとの比較
従来、INDEXとMATCHを組み合わせて検索を行う方法も一般的でした。これには複数の関数を組み合わせる必要があり、可読性や構築の手間が一定ありました。XLOOKUPではこれらを一つの関数で処理でき、構文が簡潔になる上に機能的にも十分です。ただし、かなり複雑な複数条件検索などではMATCH関数との組み合わせが有効な場合も残ります。
対応バージョンと互換性の注意点
XLOOKUPはMicrosoft 365、Excel 2021、および最新のExcel環境で利用可能ですが、Excel 2019以前のバージョンには標準搭載されていないことがあります。ファイルの共有相手や使用環境が古いバージョンの場合には、XLOOKUPで作成した式が動作しない可能性があります。その場合には別の方法で代替処理を考える必要があります。
応用テクニック:複数条件やエラー処理など
Excel XLOOKUP 使い方 基本を超えて実務で役立つ応用テクニックを知っておくことで、検索操作が一歩上のレベルになります。この章では「複数条件での検索」「エラー処理」「検索結果の整形」「パフォーマンスへの配慮」など、実例を交えて説明します。仕事でExcelを頻繁に使う方や分析業務がある方には特に役立つ内容です。
複数条件検索の実現方法
XLOOKUP単体では複数条件検索は直接できませんが、ネスト構造などを組み合わせると可能になります。たとえば、部門と日付という二つの条件に一致するデータを探すとき、検索列を結合した補助列を用意する方法が一般的です。他にはMATCH関数やFILTER関数と組み合わせて複雑な条件を扱う方法もあります。目的に応じて最適な構築方法を選びましょう。
エラー発生時の処理と見栄え調整
if_not_found引数を使えば、検索値が見つからないときに表示する文字を指定できます。これにより、#N/Aエラーを見栄え良く処理できます。また、条件付き書式や文字列操作関数と組み合わせて「該当なし」などの表示を色付きで強調することも可能です。ユーザーに優しい表現を心がけましょう。
検索モードを使った高速検索のコツ
データ量が非常に多い場合、search_modeでバイナリ検索を使うと処理が高速になります。ただしこのモードを使うには検索範囲が昇順または降順でソートされていなければなりません。ソートされていないデータでバイナリ検索を使うと誤った結果になることがあるので、データの状態を確認してから設定してください。
実践上で押さえるべき注意点とよくあるトラブル

XLOOKUP 使い方 基本を学んだ後は、実務で遭遇しやすいトラブルや混乱しやすいポイントを事前に知っておくことで作業効率と正確さが大幅に向上します。この章ではよくある間違い、パフォーマンス上の注意、配列サイズの不一致、文字列比較などのトラブル対応方法について解説します。
検索範囲と戻り範囲の行数/列数の不一致
lookup_arrayとreturn_arrayは必ず同じ行数(縦検索の場合)または同じ列数(横検索の場合)でなければなりません。不一致があると#VALUE!エラーになります。検索範囲がA2:A100であれば戻り範囲も同じ100行にするなど、入力範囲を慎重に設定してください。
文字列の大文字小文字/全角半角の扱い
XLOOKUPは通常、大文字小文字や全角半角を区別せずに検索を実行します。そのため、「Test」と「test」を区別したい場合は別の関数と組み合わせたり、EXACT関数を使うなどの工夫が必要です。また、日本語環境では全角・半角の混在があるデータで誤一致を起こしやすいため前処理で統一すると良いでしょう。
古いExcelバージョンで式が動かない問題への対策
Excel 2019以前ではXLOOKUPが搭載されていない環境があり、そのような場合は代わりにVLOOKUP・HLOOKUP・INDEX+MATCHなどを使う必要があります。共有ファイルや多数のユーザーで編集するファイルでは、使用環境を確認して使える関数を選ぶことがトラブル防止になります。
パフォーマンス低下を招く使い方を避ける
大量のデータを検索する際、lookup_arrayやreturn_arrayが幅広い範囲指定になっていたり、複数のXLOOKUPを多用していると計算量が増えて処理が重くなります。必要な範囲だけを指定する、バイナリ検索を利用できるならsearch_modeを指定する、といった最適化が効果的です。
まとめ
Excel XLOOKUP 使い方 基本を理解することは、データ検索や情報抽出の作業を格段に改善します。構文を抑え、if_not_found・一致モード・検索モードといったオプションを使いこなすことで、完全一致や近似一致、ワイルドカード検索まで自在に活用できます。左右検索や複数列返却といった機能は旧来の関数では難しかったことです。
ただし使う環境のバージョンを確認すること、範囲の行数・列数の揃いと文字列の統一など基本ルールを守ることが大切です。実戦でよくあるトラブルに備えて、事前に誤りを防ぐ構築をすることで、検索ミスや処理遅延を避けられます。
XLOOKUPは、Excelを使いこなしたい人にとって必須の関数です。基本を押さえつつ応用も意識することで、作業の効率や精度が格段に向上します。慣れれば他の検索系関数との差がはっきりと実感できるようになりますので、ぜひ色々なデータで試してみてください。
コメント