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関数を使えるようになる効果は大きいです。
日々の集計、名簿管理、商品マスタ参照、請求書作成などで活用すれば、数式の分かりやすさと作業効率の両方を改善できます。
ぜひ一度、実際の業務で使ってみてください。
きっと「もっと早く知りたかった!」と思うはずですよ。
広告
