Excelで複数条件に一致する行のデータを抽出したい場合、VLOOKUP関数だけでは対応できません。本記事では、Excelで二つ以上の条件を組み合わせてデータを抽出する方法をわかりやすく解説します。
INDEX関数とMATCH関数を組み合わせる方法
二つの条件に一致するデータを抽出する場合、INDEX関数とMATCH関数を組み合わせる方法が一般的です。MATCH関数で条件に一致する行番号を特定し、INDEX関数で値を取得します。
例えば、列Aが「商品名」、列Bが「地域」のとき、特定の商品と地域に一致する販売数を取得する場合、{=INDEX(C:C,MATCH(1,(A:A=”商品X”)*(B:B=”東京”),0))} のように入力します。配列数式としてCtrl+Shift+Enterで確定します。
ヘルパー列を作る方法
複雑な数式を避けたい場合、ヘルパー列を作って条件を連結する方法があります。例えば、=A2&B2 で条件列を作り、VLOOKUPで連結キーに基づいて検索することで二つの条件に一致するデータを取得できます。
この方法は理解しやすく、複数行のデータでも効率的に検索可能です。
オートフィルターを使った抽出
条件に一致する行を一時的に表示させたい場合は、オートフィルターが便利です。「データ」タブ→「フィルター」で列にフィルターを設定し、複数条件を指定することで該当行を絞り込めます。
抽出結果はコピーして別シートに貼り付けることで、動的ではない簡単な抽出が可能です。
配列数式で複数条件を処理
Excel 2019以前でも、配列数式を使えば複数条件の抽出が可能です。SMALL関数やIF関数を組み合わせて条件に合致する行番号を取得し、INDEXで値を引き出す手法が一般的です。
例: {=INDEX(C:C,SMALL(IF((A:A=”商品X”)*(B:B=”東京”),ROW(A:A),””),ROW(1:1)))} と入力し、Ctrl+Shift+Enterで確定します。
まとめ
Excelで二つの条件に一致するデータを抽出するには、INDEX+MATCHの組み合わせ、ヘルパー列の利用、オートフィルター、配列数式のいずれかの方法が有効です。用途やデータ量に応じて最適な手法を選択すると効率的に作業できます。


コメント