Excelで複数の条件を使ってデータを検索したいとき、XLOOKUP関数を使うと便利です。たとえば、「商品名」「サイズ」「色」の3つの条件で価格を調べたい場合などです。今回は、初心者の方でもわかりやすいように、実際の例を交えて解説します。
XLOOKUP関数とは?
XLOOKUP関数は、指定した範囲から条件に一致するデータを検索し、対応する値を返す関数です。VLOOKUP関数の後継として登場し、より柔軟で使いやすくなっています。
基本的な使い方
基本的な構文は以下の通りです
=XLOOKUP(検索値, 検索範囲, 戻り値範囲)
たとえば、商品コードから商品名を調べる場合
=XLOOKUP("", , B2:B10)
これで、:の範囲から「」を検索し、対応するB列の値を返します。
このサイトをチップで応援
複数の条件で検索する方法
複数の条件で検索する場合、XLOOKUP関数だけでは対応できません。そこで、論理演算を使って検索範囲を作成し、それをXLOOKUP関数に渡します。
論理演算を使った方法
たとえば、以下のようなデータがあるとします
| 商品コード | サイズ | 色 | 価格 |
|---|---|---|---|
| M | 青 | 1000 | |
| L | 赤 | 1200 | |
| M | 赤 | 1100 | |
| L | 青 | 1300 |
このデータから、「サイズがMで色が青の商品」の価格を調べる場合、以下のように記述します
=XLOOKUP(1, (B2:B5="M")*(C2:C5="青"), D2:D5)
ここで、(B2:B5=”M”)*(C2:C5=”青”)の部分が論理演算を使って検索範囲を作成しています。これにより、両方の条件を満たす行を特定し、その価格を返します。
連結を使った方法
もう一つの方法は、条件を連結して検索する方法です。先ほどのデータで、「サイズがMで色が青の商品」の価格を調べる場合、以下のように記述します
=XLOOKUP("M青", B2:B5&C2:C5, D2:D5)
この方法では、B列とC列の値を連結して検索範囲を作成し、検索値も同様に連結して指定します。
よくある質問とその回答
Q1: 複数の条件で検索する際、検索範囲が大きいと処理が遅くなりますか?
はい、大きなデータセットでは処理速度が低下する可能性があります。その場合、条件を満たすデータを事前にフィルタリングするなどの工夫が必要です。
Q2: XLOOKUP関数はすべてのExcelバージョンで使用できますか?
XLOOKUP関数は、Excel 365やExcel 2021以降のバージョンで使用できます。古いバージョンでは使用できないため、代わりにINDEXとMATCH関数を組み合わせて使用する方法があります。
Q3: 複数の条件で検索する際、エラーが発生する場合の対処法はありますか?
エラーが発生する場合、条件式が正しく設定されているか、データに欠損値がないかなどを確認してください。また、IFERROR関数を使ってエラー時の処理を追加することもできます。
まとめとLINEでのサポート案内
XLOOKUP関数を使うことで、複数の条件で効率的にデータを検索することができます。初心者の方でも、実際の例を参考にしながら練習してみてください。
他にも疑問やお悩み事があればお気軽にLINEからお声掛けください。



コメント