Excelで複数の表を扱っていると、「複数条件が完全一致した行だけを見つけて、別のデータを自動で反映させたい」という場面があります。特に商品データのように項目が多い場合、VLOOKUPやXLOOKUPだけでは対応しきれないケースもあります。本記事では、複数条件一致でデータを抽出し、別シートへ正しく値を反映させる方法を解説します。
複数条件一致が必要になるケースとは
単一条件であればVLOOKUPやXLOOKUPで対応できますが、「商品名+産地+年産」のように複数の条件を組み合わせる必要がある場合は工夫が必要です。
例えば同じ商品名でも産地が違えば価格が異なるケースでは、1つの条件だけでは正しく抽出できません。
そのため複数列を組み合わせて一致判定する方法が重要になります。
基本解決策:XLOOKUPで複数条件を組み合わせる
最もシンプルな方法は、複数条件を連結して検索キーを作る方法です。
例:=XLOOKUP(A2&B2&C2, Sheet1!A:A&Sheet1!B:B&Sheet1!C:C, Sheet1!D:D)
このように「商品名・産地・年産」を結合して一致させることで、価格を正しく取得できます。
FILTER関数を使った抽出方法
FILTER関数を使うと、条件に一致する行そのものを取得できます。
例:=FILTER(Sheet1!D:D, (Sheet1!A:A=A2)*(Sheet1!B:B=B2)*(Sheet1!C:C=C2))
この方法では複数条件を掛け算で指定することで完全一致のみを抽出できます。
VLOOKUPで対応する場合の工夫
VLOOKUP単体では複数条件に対応できないため、補助列を作る方法が一般的です。
補助列に「商品名&産地&年産」を作成し、それを検索キーとして利用します。
これにより従来のVLOOKUPでも複数条件検索が可能になります。
エラーが出る原因と対処法
よくあるエラーの原因は、配列結合の扱いミスや範囲の不一致です。
また、空白や全角・半角の違いによって一致しないケースも多く見られます。
関数を入力する際は、データ形式を統一することが重要です。
まとめ
複数条件一致のデータ抽出は、XLOOKUPやFILTER関数を使うことで効率的に解決できます。
補助列を使えばVLOOKUPでも対応可能であり、用途に応じた使い分けが重要です。
正しい方法を理解すれば、別シート間のデータ管理を大幅に効率化できます。


コメント