INDEX
複数の検索条件を指定してデータを取得するには?
Excelでデータを検索する際、通常のVLOOKUP
やXLOOKUP
は1つの検索条件に基づいて値を取得します。しかし、複数の条件を組み合わせてデータを検索したい場合、これらの関数をそのまま使うことはできません。
例えば、「商品コード」と「サイズ」の両方が一致する場合に価格を取得する、といったケースでは、工夫が必要になります。この記事では、XLOOKUP
関数を使って複数の検索条件を指定した動的な検索方法について解説します。
複数の検索条件が必要なケース
以下のようなケースで、複数の条件を満たすデータを取得する必要があります。
- 商品コードとサイズを指定して価格を取得
- 氏名と生年月日を指定して社員IDを検索
- 顧客名と購入日を指定して注文情報を取得
このような場合、XLOOKUPを工夫して活用することで対応可能です。
XLOOKUPを使った複数条件の検索
ExcelのXLOOKUP
関数は、通常1つの検索条件でデータを取得します。しかし、複数の条件を指定する場合、配列を利用することで対応できます。
基本構文(複数条件の検索)
以下のように、条件を連結することで複数の検索条件を設定できます。
=XLOOKUP(検索条件1 & 検索条件2, 検索範囲1 & 検索範囲2, 取得範囲)
複数条件の検索の実例
以下のようなデータを例に考えます。
A | B | C | D | |
---|---|---|---|---|
1 | 商品コード | サイズ | 価格 | 在庫数 |
2 | A001 | M | 2000 | 10 |
3 | A001 | L | 2500 | 5 |
4 | A002 | M | 1800 | 8 |
5 | =XLOOKUP(“A001″&”M”, A2:A4&B2:B4, C2:C4) |
この場合、セルA5に以下の式を入力します。
=XLOOKUP("A001"&"M", A2:A4&B2:B4, C2:C4)
結果:「2000」(商品コード「A001」のMサイズの価格)
在庫数を検索する場合
同様に、在庫数を取得する場合は次のように記述します。
A | B | C | D | |
---|---|---|---|---|
1 | 商品コード | サイズ | 価格 | 在庫数 |
2 | A001 | M | 2000 | 10 |
3 | A001 | L | 2500 | 5 |
4 | A002 | M | 1800 | 8 |
5 | =XLOOKUP(“A001″&”L”, A2:A4&B2:B4, D2:D4) |
この場合、セルB5に以下の式を入力します。
=XLOOKUP("A001"&"L", A2:A4&B2:B4, D2:D4)
結果:「5」(商品コード「A001」のLサイズの在庫数)
注意点
この方法を使用する場合、以下の点に注意してください。
- 検索範囲を連結(&)することで、検索条件を1つのキーとして扱う
- 検索する値も同じ形式で連結する
- 配列計算を正しく動作させるため、Excel 365またはExcel 2019が必要
まとめ
XLOOKUPを活用することで、複数の検索条件を指定してデータを取得することが可能です。検索範囲を連結することで、1つのキーとして扱い、条件を増やしても動的に検索できます。複雑なデータ検索が必要な場合は、この方法を活用しましょう。
使用した関数について

XLOOKUP関数でデータの柔軟な検索を行う方法についてわかりやすく解説
XLOOKUP関数についてXLOOKUPの概要データの柔軟な検索Excel関数=XLOOKUP( 検索値 , 検索範囲 , 戻り値の範囲 ,,, )概要 XLOOKUP関数は、指定した範囲内で検索値を探し、それに対応する値を別の範囲から返します。従来のVLOOKUPに比べて、より柔軟で使いやすいのが特徴です。 指定した...