FILTER関数を使ってデータを絞り込む【Googleスプレッドシート】
当ページのリンクには広告が含まれています。

Googleスプレッドシートのフィルタ機能はとても便利です。
しかしながら、フィルタでは対応できないシーンもあります。例えば、
- 絞り込んだデータをCSVとしてダウンロードしたい
- マスタデータからシート別に特定のデータを表示させたい
こんな時には「フィルタ」ではなく「FILTER関数」を使うことで解決できます。
サンプルデータはこちらのサイトのCSVデータを利用させていただいています。
目次
FILTER関数の使い方
FILTER関数の構文を確認しましょう。
FILTER関数の構文
FILTER(範囲, 条件1, [条件2, …])
このように特定の列を指定して、追加で条件を指定します。
ここではoriginal
シートからD列の性別men
のみを取得しています。

このように、別シートで元データから絞り込んだデータを参照することができます。
条件の絞り込み方法
次に、絞り込み方法についてご紹介します。主要なパターンとして
- 完全一致(A=B)
- 複数条件(AかつB)
- NOT検索(Aではない)
- OR検索(AまたはB)
- 部分一致(Aを含む)
があります。それぞれ見ていきましょう。
完全一致
A=B
の先程のパターンです。name
がキル
だけを取得しています。
=FILTER(A2:G1000,C2:C=C1)

複数条件(AかつB)
A and B
ですね。範囲を指定した後に、条件を複数追加します。
=FILTER(A2:G1000,D2:D=D1,E2:E>E1)

NOT検索(Aではない)
Not A
はNOT()
で条件を囲います。
=FILTER(A2:G1000,NOT(D2:D=D1))

OR検索(AまたはB)
A or B
の場合は、(A条件)+(B条件)
と繋げていきます。
=FILTER(A2:G1000,(D2:D=D1)+(E2:E<E1))

部分一致(Aを含む)
特定の文字を含む値で絞り込む場合にはSEARCH関数
を用います。
SEARCH関数の構文
SEARCH(検索文字列, 検索対象のテキスト, [開始位置])
=FILTER(A2:G1000,SEARCH(C1,C2:C))

まとめ
マスタデータに対してFILTER関数を使えば、様々な絞り込みの表現ができます。
特に、私自身エリア別に表示させメンバーに共有したり、特定のデータだけダウンロードする際にはとても重宝しています。ぜひ試してみてください!
コメント