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="男"), "該当なし")