Excelで複数条件に一致する行の値を取得する方法:Sheet1とSheet2の連携

Excel

Excelで複数条件に一致する行の値を別シートに表示したい場合、関数を組み合わせることで効率的に実現できます。この記事では、Sheet1の条件に基づき、Sheet2から該当するC列の値を取得する方法を解説します。

複数条件に対応する関数の選択

複数条件の検索には、IF関数とINDEX関数、MATCH関数を組み合わせる方法が一般的です。また、Excel 365やExcel 2021以降では、XLOOKUPやFILTER関数を利用すると簡単に実装できます。

例えば、Sheet1のA2とB2の値を条件に、Sheet2のA列とB列を検索し、C列の値を返す場合に有効です。

INDEXとMATCHを使った方法

従来型の方法として、次のような配列数式(Ctrl+Shift+Enterで確定)を使用できます。

=INDEX(Sheet2!C:C,MATCH(1,(Sheet2!A:A=Sheet1!A2)*(Sheet2!B:B=Sheet1!B2),0))

この式では、MATCH関数で両方の条件が成立する行番号を探し、INDEX関数でC列の値を返します。実例として、Sheet1!A2=100、B2=”東京”の場合、Sheet2のA列が100かつB列が東京の行のC列値を取得できます。

Excel 365以降:FILTER関数の利用

Excel 365や2021以降では、FILTER関数を使うと簡単です。

=FILTER(Sheet2!C:C,(Sheet2!A:A=Sheet1!A2)*(Sheet2!B:B=Sheet1!B2),”該当なし”)

この関数は条件に合致する行をすべて返すことができ、条件に該当するデータがない場合は「該当なし」と表示されます。

注意点とヒント

複数条件検索では、データに重複がある場合、最初に一致した行の値が返る点に注意してください。また、全列指定ではなく必要範囲のみを指定することで処理速度の向上が見込めます。

さらに、条件が増える場合は論理演算子「*」を使ってAND条件を組み合わせるか、「+」でOR条件を組み合わせることが可能です。

まとめ

ExcelでSheet1の複数条件に基づきSheet2のC列値を取得するには、INDEX+MATCHの配列数式や、Excel 365以降ならFILTER関数を活用すると便利です。条件を適切に設定し、必要な範囲を指定することで、効率的かつ正確にデータを抽出できます。

コメント

タイトルとURLをコピーしました