今回は、ExcelのXLOOKUP関数を使用して、複数の条件に一致するデータを検索する方法を紹介します。
XLOOKUP関数で複数条件検索を行う利点
従来、Excelでデータを検索する際にはVLOOKUP関数がよく使われていました。
しかし、VLOOKUP関数は検索値が1つしか指定できないという制約があり、複数の条件を組み合わせた検索には工夫が必要でした。
新しいXLOOKUP関数を利用すると、数式を少し工夫するだけで、簡単に複数条件での検索が可能になります。
日々の業務で複雑な表から必要な情報を抜き出す際、この方法を知っていると作業がスムーズに進むかもしれません。
従来の関数との違い
VLOOKUP関数やINDEX関数とMATCH関数の組み合わせと比較すると、XLOOKUP関数は引数の指定が直感的でわかりやすいという特徴があります。
複数条件を指定する場合でも、作業列を追加することなく、1つの数式内で完結できるのが魅力と言えます。
これにより、表の構造を変更せずに済むため、共有ファイルなどでも安全に利用できるでしょう。
複数条件検索が求められる具体的な場面
実際の業務では、1つの条件だけではデータを特定できないケースが多々あります。
- 商品名とカラーから在庫数を調べたい場合
- 部署名と社員名から内線番号を検索したい場合
- 日付と店舗名からその日の売上データを抽出したい場合
このような場面で、XLOOKUP関数の複数条件検索が役立ちます。
複数条件を指定する基本的な書き方
XLOOKUP関数で複数条件を指定するには、検索値と検索範囲をアンパサンド(&)で結合するという手法を用います。
アンパサンド(&)を使った結合
通常、XLOOKUP関数の第1引数には単一の検索値を指定しますが、ここに複数のセルを「&」で繋げて指定します。
同時に、第2引数の検索範囲も同じ順序で「&」を使って繋げます。
これにより、Excel内部で複数の条件が1つの文字列として扱われ、合致するデータが検索される仕組みです。
数式の構造と引数の設定
具体的な数式の形は以下のようになります。
=XLOOKUP(検索値1&検索値2, 検索範囲1&検索範囲2, 戻り値の範囲)
このように指定することで、2つの条件を同時に満たす行を見つけ出し、指定した戻り値の範囲から対応するデータを取り出すことができます。
条件が3つ以上ある場合も、同様に「&」で繋げていくことで対応可能です。
実際の業務で使える活用例
ここでは、具体的な表を想定した活用例をいくつか紹介します。
商品名とサイズから価格を取得する
例えば、A列に商品名、B列にサイズ、C列に価格が入力されている価格表があるとします。
別のセル(E1)に検索したい商品名、(F1)にサイズを入力し、その価格をG1に表示させる場合、以下のような数式をG1に入力します。
=XLOOKUP(E1&F1, A:A&B:B, C:C)
この数式により、商品名とサイズの両方が一致する行の価格が正確に抽出されます。
商品のバリエーションが多い表を扱う際に、とても便利な使い方と言えるでしょう。
担当者と月から売上データを抽出する
もう一つの例として、A列に担当者名、B列に月、C列に売上額が記録されているデータ表を考えます。
特定の担当者の特定の月における売上額を知りたい場合も、同じ考え方が適用できます。
=XLOOKUP(担当者名が入力されたセル&月が入力されたセル, A:A&B:B, C:C)
月ごとの実績をまとめたレポートを作成する際などに、手作業で探す手間を省くことができます。
エラーを防ぐためのヒント
複数条件検索をスムーズに活用するための、ちょっとしたコツや注意点をお伝えします。
見つからない場合の処理
指定した条件に一致するデータが表に存在しない場合、通常は「#N/A」エラーが表示されます。
XLOOKUP関数には、第4引数に「見つからない場合」に表示する値を指定できる機能が備わっています。
=XLOOKUP(検索値1&検索値2, 検索範囲1&検索範囲2, 戻り値の範囲, “データなし”)
このように設定しておくと、エラー表示の代わりに「データなし」というテキストが表示され、表の見栄えが保たれます。
データ型の不一致によるエラー対処
検索値と検索範囲で、データ型(数値と文字列など)が異なると、見た目が同じでも検索に失敗することがあります。
特に日付や数値を条件に含める場合は、表示形式だけでなく、実際のデータ型が一致しているか確認することが大切です。
もし検索がうまくいかない時は、データの書式設定を見直してみるのがおすすめです。
計算負荷への配慮
「&」を使った複数条件検索は便利ですが、列全体(A:Aなど)を指定すると、データ量によってはExcelの動作が重くなる可能性があります。
可能な限り、検索範囲は実際のデータが入っているセル範囲(A1:A100など)に限定するか、テーブル機能を利用して構造化参照を行うと、快適に動作するでしょう。
まとめ
今回は、XLOOKUP関数を使って複数条件で検索する方法について解説しました。
アンパサンド(&)を使って検索値と検索範囲を結合するというシンプルな工夫で、複雑な表からも目的のデータを正確に抽出できるようになります。
従来の関数と比べて数式がすっきりとまとまり、エラー時の対応も簡単に行えるのが魅力です。
日々のデータ集計や資料作成の中で、このテクニックを取り入れてみることで、作業の効率化に繋がるかもしれません。
状況に合わせて条件を組み合わせ、Excelをより便利に活用していくと良いでしょう。