小技集

トップ > 小技集 > 記事
小技集一覧へ
限定コンテンツ一覧へ



2023年6月19日【ID:0】

【Excel】FILTER関数で複数条件指定


スピル機能を活用した関数でFILTER関数があります。
FILTER関数の使い方は以下になります。

=FILTER(配列, 含む, [空の場合])
// 指定した配列から指定の条件を満たすデータのみを抽出する
// [空の場合]は条件を満たすデータが見つからない場合に表示する内容

・使用例

=FILTER(B3:E12,D3:D12="女","")

※日付(J列)の表示形式は日付になっていないため、シリアル値が表示されています。

この活用例を見ると、条件は1つまでしか設定できないように思えます。(使用例の場合は、「性別が女」という条件のみ)
実は、FILTER関数の仕組みを理解すると複数条件でも設定することができます。

FILTER関数の仕組みは、[配列]に指定した範囲の行数(列数)と同じ数のTRUEもしくはFALSEの配列を[含む]に指定します。
上記の場合は、以下のようになります。

この[含む]の中のTRUEの箇所のみを抽出したものが以下の結果になります。

また、TRUEは0以外の数値、FALSEは0としても表現することができるので、以下のようにしても抽出することができます。
※[含む]にF列の数字を渡しています。

実際に、TRUEとFALSEの値をINT関数を使って数値で表現すると、1と0と表示されます。

このことから、複数の条件をANDで結びたい場合は「掛け算(*)」、ORで結びたい場合は「足し算(+)」で表現できることが分かります。


AND条件の活用例は以下になります。

=FILTER(B3:E12,(D3:D12="男")*(E3:E12>=DATEVALUE("1995/1/1")),"")

※日付を比較するため、DATEVALUE関数で日付をシリアル値に変換して比較しています。

OR条件の活用例は以下になります。

=FILTER(B3:E12,(D3:D12="男")+(E3:E12>=DATEVALUE("1995/1/1")),"")

3つのAND条件の活用例は以下になります。

=FILTER(B3:E12,(D3:D12="男")*(E3:E12>=DATEVALUE("1995/1/1"))*(E3:E12<=DATEVALUE("1999/12/31")),"")

パソコンで開く場合は、記事の最後に「リンクコピー」があるためご活用ください。


メンバー募集
1分で読める小技集 1分で読める小技集





リンクの共有はこちらから行えます。

  リンクコピー Twitter Facebook はてなブックマーク Pocket
トップ > 小技集 > 記事
小技集一覧へ
限定コンテンツ一覧へ


- 人気の記事 -



- メンバー限定 [一覧] -



サイト累計閲覧数

2313544

有料動画講座
(買い切り)

Excel完全制覇


ちょっとした機能 便利ツール

トップ > 小技集 > 記事
小技集一覧へ
限定コンテンツ一覧へ