
Googleスプレッドシートのデータ処理を更に効率的にする秘密兵器、それがFILTER関数です。
ここでは、初心者から上級者まで、FILTER関数を使ってデータをシンプルかつ効果的に抽出・整理する方法を解説していきます。
条件に基づいたデータの絞り込みや、複数の条件を組み合わせた高度なフィルタリングに関する具体的な手順やテクニックをご紹介。
データの大量処理が得意なFILTER関数を使って、スプレッドシート上での作業を劇的に効率化しましょう。
もしよろしければブログ作成の励みになるのでポチっとお願いしますm(_ _)m

フィルタ機能とFILTER関数の違い
「フィルタ」という単語だけ聞けば、このフィルタ機能のイメージが強いと思います。
フィルタ機能を付けたい表を選択した状態で、「データ」→「フィルタ作成」で簡単に表のヘッダー部分にフィルタ機能が設定されます。

簡単に目的のデータだけに絞り込みができるとても便利な機能です。

上図の場合はA,B列の2列だけなので、これで十分かと思いますが、
データ量が多く、何十列もあるようなデータだとしたらどうでしょう??
横スクロールさせて目的の列でフィルタをかけて、複数条件にしたければさらに目的の列に行って・・・
ちょっと面倒ですよね?
さらに、他の条件で絞り込みをしたいときは、改めて条件を指定し直して、その表を別にコピーして・・・
やっぱりちょっと面倒な気がします。
そんなときにFILTER関数を覚えておけば、元の表はそのままに、簡単に検索できる仕組みを作る事ができます。
それではFILTER関数の使い方を解説していきますね。
FILTER関数の構文
FILTER関数の構文は以下の通りです。
=FILTER(範囲, 条件1, [条件2, …])
1つ目の引数「範囲」は、フィルタ処理をするデータの範囲を指します。
2つ目以降の引数は「条件」を記述する部分になります。
「条件」は複数指定することができます。
複数条件を指定するときは、AND条件(全ての条件満たすとき)とOR条件(いずれかの条件を満たすとき)で書き方が異なります。
【AND条件(全ての条件満たすとき)】
- 条件1,条件2,条件3・・・ のようにカンマで区切る。
- (条件1)*(条件2)*(条件3)・・・のように 条件を()で綴じ、 ” * “ (アスタリスク)でつなげる。
【OR条件(いずれかの条件を満たすとき)】
- (条件1)+(条件2)+(条件3)・・・のように 条件を()で綴じ、 ” + “ (プラス)でつなげる。
複数条件の実例は後述します。
基本的な使い方(単一条件の場合)
例となるデータを使って、FILTER関数の使い方を説明していきます。
例えば以下のような表があったとします。

そして下図のようにF列以降に、「品種」で条件を指定したFILTER関数の書き方です。

セルF2に以下のようにFILTER関数を記述します。
=FILTER(A2:D16,B2:B16=”ふじ”)
「範囲」はA2:D16で、ヘッダー部分を除いたデータの部分のみを指定します。
「条件」はB列(品種)の値が「ふじ」の場合なので、 B2:B16=”ふじ” という書き方になります。
このように関数を記述した結果は下図のようになります。

「品種」が「ふじ」だけに絞り込まれ、「農園」や「単価」など、元の表にあった全ての列の値が表示されます。
「範囲」で指定したデータの列が全て表示されます。
今回は「品種」(B列のデータ)で絞り込んだので、G列(品種を出力したい列)に関数を書きたくなるかもしれませんが、元の表のA列に「農園」のデータがあるので、FILTER関数はF列に記述します。
複数条件(AND条件)の書き方
先ほどは「品種」のみで絞り込みましたが、さらに「単価」でも絞り込みをしたい場合は複数条件の書き方になります。
今回は、「品種」=ふじ、「単価」が200円以上、という2つの条件を満たしたときの書き方を説明します。
どちらの条件も満たしたときなので、AND条件になります。
関数は下記のように記述します。
=FILTER(A2:D16,B2:B16=”ふじ”,C2:C16>=200)
もしくは、
=FILTER(A2:D16,(B2:B16=”ふじ”)*(C2:C16>=200))
【AND条件(全ての条件満たすとき)】
- 条件1,条件2,条件3・・・ のようにカンマで区切る。
- (条件1)*(条件2)*(条件3)・・・のように 条件を()で綴じ、 ” * “ (アスタリスク)でつなげる。
(条件1)がB2:B16=”ふじ” (条件2)がC2:C16>=200 となり、
2つの条件を ” , “(カンマ)で区切るか、” * “ (アスタリスク)でつなげるとAND条件の書き方になります。
(条件2)は数値を扱っているので 200を ” “ ダブルクォーテーションで囲む必要はありません。
実際の結果は下図のとおりです。

「品種」=ふじ、「単価」が200円以上、という2つの条件を満たしたデータのみに絞り込まれていますね。
複数条件(OR条件)の書き方
次は、複数条件でも「いずれかの条件を満たした場合」の書き方になります。
今回は「品種」が「ふじ」または「つがる」の場合で絞り込んでみます。
どちらかの条件を満たしたときなので、OR条件になります。
関数は下記のように記述します。
=FILTER(A2:D16,(B2:B16=”ふじ”)+(B2:B16=”つがる”))
【OR条件(いずれかの条件を満たすとき)】
- (条件1)+(条件2)+(条件3)・・・のように 条件を()で綴じ、 ” + “ (プラス)でつなげる。
(条件1)が B2:B16=”ふじ” (条件2)が B2:B16=”つがる”
この2つを ” + “ でつなぐことでOR条件の書き方になります。
条件の値をセル参照にする
FILTER関数の書き方は下記のように書き方で問題ありませんが、
別な条件で絞り込みをし直したいときなどは、いちいち関数の値を直すのは少し面倒ですね。
=FILTER(A2:D16,B2:B16=”ふじ”)
なので、”ふじ” の部分をセルの値を参照するような書き方の方が何かと便利です。
例えばセルK2に品種名を入れることで、検索できるようにするにはFILTER関数を次のように書きます。
=FILTER(A2:D16,B2:B16=K2)
このようにFILTER関数を書くことで、セルK2の値を入力し直すだけで、簡単に条件を変えることができます。

セルK2の値を「王林」にすると・・・

品種で検索が簡単にできるようになりましたね。
まとめ
ここではFILTER関数の基本的な使い方を説明しました。
実のところ、この基本の使い方だけであれば、フィルタ機能の方が便利!と思われるかもしれませんが、FILTER関数の最大のメリットの一つは、元の表を壊さないこと。
例えば、FILTER関数を別なシートなどで作成することで、元のデータは触られることなく、検索した結果だけを表示させる事ができるます。
なので、元のデータをフィルタ機能で絞り込みをしている最中に誤ってデータを削除してしまう心配がありません。
メリットはこれだけではありませんが、フィルタ機能だけではなくFILTER関数を使った絞り込み抽出も慣れておくと良いと思います。
もしよろしければブログ作成の励みになるのでポチっとお願いしますm(_ _)m
↓↓↓

コメント