ExcelのXLOOKUP関数の使い方をお探しですね。

広告

Excelの検索がラクになる!XLOOKUP関数の使い方を初心者向けにやさしく解説

Excelで別の表から商品名や値段を引っ張ってくる作業、今まではVLOOKUP関数を使うのが定番でした。

でも、「検索したい列が左端にないと使えない」「何列目かを数えるのが面倒」「エラーが出たときの処理がややこしい」といった不満を感じたことはありませんか?

そんな悩みを解決してくれるのが、**XLOOKUP関数**です。

この記事では、XLOOKUP関数の基本的な使い方から、VLOOKUPとの違い、複数の条件で検索する方法まで、初心者の方にも分かりやすく説明していきます。

XLOOKUP関数って何?基本の書き方をやさしく解説

XLOOKUP関数は、指定した値を表の中から探して、それに対応する別の値を取り出すための関数です。

例えば、商品コードを入力したら商品名や値段が自動で表示されたり、社員の名前から社員番号を探したりできます。

今まで使われていたVLOOKUP関数やHLOOKUP関数の進化版みたいなもので、縦方向だけじゃなく横方向の検索にも対応しているのが特徴です。

ただし、Microsoft 365やExcel 2021以降でしか使えないので、古いバージョンのExcelを使っている人とファイルをやり取りするときは注意が必要です。

XLOOKUP関数の基本的な書き方は、こんな感じです。

“`
=XLOOKUP(検索値, 検索範囲, 戻り範囲, [見つからない場合], [一致モード], [検索モード])
“`

難しそうに見えますが、実は**最初の3つだけ覚えればOK**です。

– **検索値**:探したい値(例:商品コード)
– **検索範囲**:その値を探す場所(例:商品コードが入っている列)
– **戻り範囲**:結果として表示したい値がある場所(例:商品名が入っている列)

例えば、A列に商品コード、B列に商品名がある表で、E2セルに入力した商品コードに対応する商品名を表示したいなら、こう書きます。

“`
=XLOOKUP(E2, A:A, B:B)
“`

シンプルですよね!

残りの引数は省略できますが、実務では便利に使えます。

4つ目の「**見つからない場合**」には、検索値が見つからなかったときに表示する文字を指定できます。

“`
=XLOOKUP(E2, A:A, B:B, “該当なし”)
“`

こうすると、存在しない商品コードを入力しても「#N/A」というエラーではなく、「該当なし」と表示されます。

5つ目と6つ目は完全一致・近似一致の設定や、上から探すか下から探すかの指定に使いますが、最初は気にしなくて大丈夫です。

まずは**必須の3つ**と「見つからない場合」だけ覚えておけば、日常の作業には十分使えます。

XLOOKUP関数の基本的な使い方:商品コードから商品名や値段を取り出してみよう

XLOOKUP関数を理解するには、実際によくある「コードを入力して関連情報を表示する」例で考えるのが一番です。

例えば、こんな商品マスタがあるとします。

– A列:商品コード
– B列:商品名
– C列:分類
– D列:単価

別の場所でF2セルに商品コードを入力して、G2セルに商品名を表示したい場合は、こう書きます。

“`
=XLOOKUP(F2, A2:A100, B2:B100, “該当なし”)
“`

これで、F2に入力された商品コードをA2:A100から探して、同じ行にあるB列の商品名を返してくれます。

単価を表示したいときも同じ考え方です。

戻り範囲をD2:D100に変えれば、単価が取得できます。

“`
=XLOOKUP(F2, A2:A100, D2:D100, “該当なし”)
“`

VLOOKUP関数では「表の左から何列目を返すか」を数字で指定する必要がありましたが、XLOOKUP関数では**欲しい列そのものを指定する**ので、式の意味が直感的に分かりやすいです。

あとから列が追加されたり、表の並びが変わったりしても、列番号のずれによるミスを防ぎやすくなります。

複数の項目をまとめて取り出す便利ワザ

商品名・分類・単価を一度に表示したい場合は、戻り範囲に複数列を指定できます。

“`
=XLOOKUP(F2, A2:A100, B2:D100, “該当なし”)
“`

Microsoft 365などの新しいExcelでは、G2セルに入力した数式の結果が右隣のセルへ自動的に広がって、商品名、分類、単価がまとめて表示されます。

ただし、結果が表示される先のセルに既にデータがあると「#SPILL!」というエラーになるので、表示先に空きスペースがあるか確認しておきましょう。

XLOOKUP関数とVLOOKUP関数の違い:何がそんなに便利なの?

「XLOOKUP関数がVLOOKUPより便利」と言われる一番の理由は、**検索範囲と戻り範囲を別々に指定できる**ことです。

VLOOKUP関数では、検索する列が指定範囲の一番左にないと使えません。

例えば、社員名から左側にある社員番号を取り出したい場合、列を並び替えたり、INDEX関数とMATCH関数を組み合わせたりする必要がありました。

でもXLOOKUP関数なら、こんな感じで簡単に書けます。

“`
=XLOOKUP(検索値, 氏名列, 社員番号列)
“`

検索列が表のどこにあっても問題ありません。

完全一致が標準だから安心

もう一つの大きな違いは、**完全一致が初期設定**になっている点です。

VLOOKUP関数は設定を省略すると近似一致で動くため、意図しない値が返ってくることがありました。

実務では商品コードや社員番号など、完全一致で探したいケースがほとんどなので、VLOOKUPでは「FALSE」や「0」を忘れずに指定する必要があります。

XLOOKUP関数は何も指定しなければ完全一致で動くので、初心者でもミスしにくい設計になっています。

請求書や在庫表のように正確性が求められる資料では、この違いはとても重要です。

エラー処理もラクラク

エラー処理のしやすさもXLOOKUP関数の強みです。

VLOOKUP関数で検索値が見つからなかった場合、「#N/A」エラーを非表示にするにはIFERROR関数を組み合わせる必要がありました。

“`
=IFERROR(VLOOKUP(…), “該当なし”)
“`

こんな風に式が長くなって、関数に慣れていない人には読みにくくなります。

XLOOKUP関数なら、4つ目の引数に「”該当なし”」や「””」を指定するだけで済むので、数式が短くて分かりやすいです。

主な違いをまとめると

– **検索列が左端になくても使える**
– **戻り範囲を列番号ではなくセル範囲で指定できる**
– **完全一致が初期設定で、エラー時の表示も関数内で指定できる**
– **縦方向だけでなく横方向検索にも対応できる**

ただし、VLOOKUP関数が完全に不要になるわけではありません。

古いExcelを使っている取引先や同僚とファイルを共有する場合、XLOOKUP関数が使えずエラーになることがあります。

自分だけで使うファイルやMicrosoft 365で統一された職場ではXLOOKUP関数を優先して、互換性が必要なファイルではVLOOKUP関数も選択肢に残すのが現実的です。

複数条件検索・下から検索・横方向検索まで!実務で使える応用テクニック

XLOOKUP関数は、複数の条件で検索することもできます。

例えば、同じ商品名でも店舗や日付によって値段が違う表がある場合、商品名だけで検索すると最初に一致したデータしか取得できません。

こんなときは、「商品名」と「店舗名」を連結して検索キーを作る方法を使います。

具体的には、検索値を「G2&H2」、検索範囲を「A2:A100&B2:B100」のように指定します。

“`
=XLOOKUP(G2&H2, A2:A100&B2:B100, D2:D100, “該当なし”)
“`

この式では、G2の商品名とH2の店舗名をつなげた値を、A列の商品名とB列の店舗名をつなげた配列の中から探しています。

「&」は文字列をつなげる記号で、複数条件を一つの検索値として扱うために使います。

複数条件検索の注意点

複数条件検索では、条件の順番や表記ゆれに注意が必要です。

例えば「東京店」と「東京 店」のように余分なスペースが入っていると別の値として扱われてしまいます。

TRIM関数で空白を整えたり、入力規則で表記を統一したりする工夫をすると、精度が上がります。

最新のデータを取得したいときは「下から検索」

同じ値が複数ある表で、最新のデータを取得したい場合は検索モードを使います。

通常、XLOOKUP関数は上から下へ検索して、最初に見つかった値を返します。

売上履歴や更新履歴のように、下に行くほど新しいデータが追加される表では、下から検索したいケースがあります。

その場合は6つ目の引数に「-1」を指定します。

“`
=XLOOKUP(F2, A2:A100, D2:D100, “該当なし”, 0, -1)
“`

これで、同じ商品コードが複数ある場合でも、表の下側にある最新行の値を取得できます。

横方向の表でも使える

横方向の表でもXLOOKUP関数は使えます。

例えば、1行目に月名、2行目以降に売上や数量が横に並ぶ表で、指定した月の売上を取り出したい場合、検索範囲を行方向に指定します。

“`
=XLOOKUP(B1, C1:N1, C2:N2, “該当なし”)
“`

こう書けば、B1に入力した月をC1:N1から探して、対応するC2:N2の値を返せます。

今までVLOOKUP関数とHLOOKUP関数を使い分けていた場面も、XLOOKUP関数なら同じ考え方で処理できるので、覚える関数を減らせるのもメリットです。

実務で使うときの注意点

便利なXLOOKUP関数ですが、注意点もあります。

検索範囲と戻り範囲の行数(または列数)が一致していないと、「#VALUE!」などのエラーが発生することがあります。

また、複数条件検索で範囲同士を連結する式は、データ量が多いと計算が重くなる場合があります。

大量データを扱う場合は、補助列に「商品名&店舗名」のような検索キーをあらかじめ作っておくと、数式が読みやすくなって、処理も管理しやすくなります。

まとめ:XLOOKUP関数で検索作業をもっとラクに

XLOOKUP関数は、VLOOKUP関数の弱点を補いながら、検索作業をシンプルにしてくれる強力な関数です。

最初は「検索値・検索範囲・戻り範囲」の3つで基本検索を使ってみて、慣れてきたら「見つからない場合」でエラー表示を整えたり、複数条件検索や下から検索に挑戦したりすると、無理なく習得できます。

Excelで表を扱う機会が多い人ほど、XLOOKUP関数を使えるようになる効果は大きいです。

日々の集計、名簿管理、商品マスタ参照、請求書作成などで活用すれば、数式の分かりやすさと作業効率の両方を改善できます。

ぜひ一度、実際の業務で使ってみてください。

きっと「もっと早く知りたかった!」と思うはずですよ。

広告