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