【スプレッドシート】FILTER関数を複数条件(AND・OR)にする方法

GoogleスプレッドシートのFILTER関数を使って、複数の条件と一致する行を抽出する方法をご紹介します。複数条件を全て満たす(AND)の場合や、複数条件のいずれかを満たす(OR)の場合に分けて解説しているので、ぜひ参考にしてみてください。

スポンサーリンク

FILTER関数の使い方

【スプレッドシート】FILTER関数の使い方

FILTER関数は、指定した「条件」に基づいて、特定の行だけを絞り込んで抽出します。

例えばA列が産地、B列が商品名のデータから、商品名が「りんご」の行だけを抽出したい場合、数式は以下のようになります。

例:=FILTER(A2:B5,B2:B5="りんご")

なお「結果の範囲」とは、「抽出したい範囲」のことです。

FILTER関数の引数:(結果の範囲, 条件1, [条件2, …])

スポンサーリンク

FILTER関数を複数条件(AND)にする方法

【スプレッドシート】FILTER関数を複数条件(AND・OR)にする方法

複数の条件をすべて満たす行だけを抽出したい場合、条件をカンマ(,)で区切りながら、条件範囲と条件をセットで追加していきます。

例えば産地が『青森』かつ商品名が『りんご』の行を抽出したい場合、数式は以下のようになります。

例:=FILTER(A2:B5,A2:A5="青森",B2:B5="りんご")

スポンサーリンク

FILTER関数を複数条件(OR)にする方法

単一列における複数条件(OR)の場合

【スプレッドシート】FILTER関数を複数条件(AND・OR)にする方法

単一列における、複数の条件のいずれかを満たす行を抽出したい場合、FILTER関数REGEXMATCH関数を組み合わせます。

例えば産地が「長野」または「岡山」の行を抽出したい場合、数式は以下のようになります。

例:=FILTER(A2:B5, REGEXMATCH(A2:A5, "長野|岡山"))

REGEXMATCH関数は、指定したテキストが正規表現に一致するかどうかを判定する関数です。|は「または」を表し、いずれかに一致した場合にTRUEを返します。

REGEXMATCH関数の引数:(テキスト, 正規表現)

複数列における複数条件(OR)の場合

【スプレッドシート】FILTER関数を複数条件(AND・OR)にする方法

複数列における、複数の条件のいずれかを満たす行を抽出したい場合、FILTER関数に指定する複数の条件を、+(プラス)でつないでいきます。

例えば産地が『岡山』または商品名が『りんご』の行を抽出したい場合、数式は以下のようになります。

例:=FILTER(A2:B5,(A2:A5="岡山")+(B2:B5="りんご"))

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