こんにちは。ひとりで.comです。
今日は、Excel(エクセル)にはない、Googleスプレッドシートの独自関数であるFILTER関数について紹介していきたいと思います。
条件を満たすデータを表示させるGoogleスプレッドシートのFILTER関数
FILTER関数とは?
Googleの公式ドキュメントには以下のようにFILTER関数は説明されています。
FILTER関数
ソース範囲をフィルタ処理して、指定した条件を満たす行または列のみを返します。
FILTER関数は以下のような構文で利用します。
FILTER(範囲, 条件1, [条件2, …])
- 範囲 – フィルタ処理するデータを指定します。
- 条件1 – 範囲の 1 列目または 1 行目に対応する TRUE 値または FALSE 値を含む列か行、あるいは TRUE または FALSE と評価される配列数式を指定します。
- 条件2 … – [省略可] – 範囲内の対応する行または列が FILTER を通過するかどうかを示す TRUE または FALSE のブール値を含むその他の行または列を指定します。これらの行や列と評価される配列数式を含むこともできます。条件のすべてで同じ種類(行または列)を対象にする必要があります。行の条件と列の条件を混合することはできません。
※条件の引数には、範囲と同じ長さを指定する必要があります。
FILTER関数の使い方を紹介
実際にどのようにFILTER関数を使えばよいのかについて、実例を見ながら覚えていきましょう。
まずは以下のような、人事データを例にして考えてみましょう。以下のデータはある企業の人事データベース(仮)とします。この中には、名前や性別、出身地などが記載されていますが、この中から性別が男のデータだけを別のシートや別のセルに抽出したい場合、FILTER関数がとても便利に利用できます。
単に特定のデータのみを表示させたいのであれば、フィルタ機能を用いれば問題ありません。
※フィルタ機能については、以下の記事をご確認ください。
特定のデータのみを別のセルや別のシートに表示させたい場合、FILTER関数を使った表示させることができます。今回の場合、
=FILTER(A1:L101,D1:D101=“男”)
というように関数を挿入します。
オレンジ色の部分で、元となるデータの範囲を指定し、紫色の部分で、条件となる範囲を指定し、緑色の部分で具体的な条件を入れることで、数式を完成させることができます。
前述の数式を入れることで以下のように、性別が”男”のデータだけを抽出することができました。
FILTER関数を用いる際に、気をつけなければならない部分があります。それは、”見出しの部分は抽出できない”という点です。以下のように、もともとのデータについていた見出しの部分については、FILTER関数にて抽出されませんので、関数とは別途、マニュアルでつけてあげる必要があります。
FILTER関数の良いところは、しっかりデータの範囲を指定しておけば、データがどんどん増えていこうとも、自動でデータの抽出が可能な点です。
フィルタ機能の場合、ある一時点でのデータのみ抽出して、取り出すことはできますが、自動で更新させることは難しいため、常に変動するデータをとある条件に従って、表示し続けたい場合などは、このFILTER関数を使うと大変便利です。