Googleスプレッドシートで列をまたいで抽出!FILTER関数の使い方をマスターしよう

Googleスプレッドシートで「ある条件に合う複数列のデータだけを抽出したい」と思ったことはありませんか?
そんなときに便利なのが、FILTER関数です。
この記事では、FILTER関数を使って複数の列(例えば「名前」と「年齢」など)を一括で抽出する方法をわかりやすく解説します。


FILTER関数の基本構文とは?

まずはFILTER関数の基本形を確認してみましょう。

=FILTER(範囲, 条件)
  • 範囲:抽出したいデータの範囲
  • 条件:抽出する際のフィルター条件(同じ行に対応する必要あり)

具体例:男性の「名前」と「年齢」だけ抽出したい!

以下のようなデータがあるとします。

A列(名前)B列(年齢)C列(性別)
山田25
佐藤30
鈴木28
高橋35

この中から「性別が男の人」の名前と年齢を取り出したいときに使う関数がこちら:

=FILTER({A2:A,B2:B}, C2:C="男")

ポイント

  • {A2:A5,B2:B5} のように波かっこ { } を使って列を連結することで、「名前」と「年齢」の2列をまとめて抽出できます。
  • 条件 C2:C5="男" は「性別が男」の行だけを抽出します。

結果の表示

上記の数式を入力すると、以下のような結果が得られます。

名前年齢
山田25
鈴木28

とても簡単に目的のデータが表示されました!


応用編:複数条件で抽出したい場合

例えば、「性別が男」かつ「年齢が30歳未満」の人だけを抽出したい場合は、条件を *(AND条件)でつなげます。

=FILTER({A2:A,B2:B}, (C2:C="男") * (B2:B<30))

FILTER関数の注意点

  • 抽出結果が0件の場合、#N/Aエラーが表示されます。
     ⇒ 対策として、IFERROR関数を組み合わせましょう。
=IFERROR(FILTER({A2:A,B2:B}, C2:C="男"), "該当なし")

まとめ

FILTER関数を使えば、Googleスプレッドシートで条件に一致する複数列のデータを一括抽出できます。
データ分析やレポート作成の効率がグッと上がるので、ぜひ日々の業務に取り入れてみてください!