Googleスプレッドシートを使っているときに「ある特定の条件に合うデータだけ抽出したい」と思うときありませんか?
そんな時に役立つのが「FILTER関数」です。
今回はそのFILTER関数についてご紹介していきたいと思います。
FILTER関数とは?
FILTER関数とは、データ範囲の中から指定した条件にあったデータを抽出する関数です。
結果がリストで表示されるのでとても便利な関数です。
売上データの中から特定の月のデータを抽出したり、ある商品のみのデータを抜き出したりすることができます。
表を絞り込む時に使うフィルタ機能とは違い、常に抽出したデータのみを表示する関数です。
FILTER関数の使い方
=FILTER(配列 , 条件1 , [条件2…] , [空の場合])
使用例
=FILTER(B4:C12 , B4:B12=”ボールペン”)
それぞれの引数について説明していきたいと思います。
・配列
配列はフィルタをかける「データ範囲」のことです。
例えば(B4:12)や(A3:A8)のように指定します。
データ範囲にはタイトル行は含めないように注意してください。
・条件
抽出条件を指定します。
条件範囲はデータ範囲と同じ行もしくは列を指定しないとエラーが起きるので注意してください。
例えば、A1:C10とデータ範囲を指定したならば、C1:C10と条件範囲を指定しないとエラーになるということです。
複数条件を設定することもできます。
・空の場合
条件に合うデータがない場合に表示する値を指定します。
例えば、「” “」を指定すると、指定した条件に合うデータがなかった場合空欄が表示されます。
こちらは省略可能です。
FILTER関数の使い方の具体例
それでは、実際にFILTER関数の使い方を見ていきましょう。
条件が1つの場合
ここでは名前、性別、年齢が入ったデータの中から、「25歳未満」の人を抽出してみたいと思います。
- データを用意する
- 条件を指定する
「B3:D12」のデータ範囲の中からD列が「25未満」の人を抜き出すための条件を指定します。関数は以下の通りです。
=FILTER(B3:D12,D3:D12<25)
- 実行する
実行すると、以下のように指定した条件に合うデータがリストで表示されます。
データ範囲で指定したデータが表示される形です。
年齢だけを表示したい場合はデータ範囲を工夫してください。
複数条件の場合
ここでは「男」もしくは「25歳未満」の人を抽出していきたいと思います。
- データを用意する
- 条件の1つ目を指定する
「B3:D12」のデータ範囲の中からC列が「男」の人を抜き出すための条件を指定します。関数は以下の通りです。=FILTER(B3:D12,(C3:C12=”男”) - 条件の2つ目を指定する
「B3:D12」のデータ範囲の中からD列が「25未満」の人を抜き出すための条件を指定します。関数は以下の通りです。=FILTER(B3:D12,(C3:C12=”男”)+(D3:D12<25))上記のように、「もしくは」というOR条件を関数の中に組み込みたい場合は「+」の記号でつなぐ必要があります。
- 実行する
実行すると、以下のように指定した条件に合うデータがリストで表示されます。
またAND条件を指定したい場合には「*」の記号で繋ぐ必要があるので覚えておきましょう。
詳しくはGoogleヘルプページでもご確認いただけます。
https://support.google.com/docs/answer/3093197?hl=ja
FILTER関数が使えない場合の対処法
- 範囲と列数同じかどうか確認する
FILTER関数は指定したデータ範囲の中から、データを抽出する関数です。なので、「B3:D12」をデータ範囲として指定しているのに「A3:A11」を指定していたらエラーになります。 - 関数が間違っていないか確認する
FILTER関数は、条件と配列は必須で入力する必要があります。なのでその2つのどちらかを入力していないとエラーになります。また、エラーになってしまう原因として、関数名を間違えている場合もよくあるので注意しましょう。
FILTER関数のまとめ
今回ご紹介したFILTER関数をIMPORTRANGE関数と組み合わせて使うことで、別シートから取得したデータを特定の条件に従って抽出することが可能になります。
他にも様々な関数と組み合わせて、業務を効率化していきましょう。