スプレッドシートのFILTER関数とは
FILTER関数は、指定した条件に基づいてデータ範囲から特定の行または列のみを抽出するGoogleスプレッドシートの関数です。この関数を使用することで、大量のデータから必要な情報だけを効率的に取り出し、分析や報告に活用できます。
基本構文は「FILTER(範囲, 条件1, 条件2)」となっており、範囲には元データを、条件には抽出したいデータの基準を指定します。条件は複数指定でき、すべての条件を満たすデータのみが結果として返される仕組みになっています。
【PR】プログラミングや生成AIを無料で学べる「コードキャンプフリー」
基本的な構文と引数の設定方法
FILTER関数の基本構文では、第1引数にフィルタ処理したいデータ範囲を、第2引数以降に条件を指定します。条件はTRUEまたはFALSEの値を返すような式で記述し、対象範囲と同じ行数または列数である必要があります。
FILTER(A2:B26, A2:A26 > 5, D2:D26 < 10)
上記のサンプルコードでは、A2:B26の範囲から、A列の値が5より大きく、かつD列の値が10未満の行のみを抽出します。条件は配列数式として評価され、元データ範囲の各行に対してTRUEまたはFALSEの判定が行われる構造です。
複数条件を指定する場合、すべての条件が同じタイプ(行条件または列条件)である必要があり、行条件と列条件を混在させることはできません。条件引数の長さは、範囲引数と完全に一致している必要があるため、正確な範囲指定が重要になります。
実際のデータ抽出における具体例
空白セルを除外してデータを抽出する場合、NOT(ISBLANK())関数と組み合わせることで効果的なフィルタリングができます。この方法により、データが入力されている行のみを対象として、整理された結果を取得することが可能です。
FILTER(A2:B10, NOT(ISBLANK(A2:A10)))
条件を満たすデータが存在しない場合、FILTER関数は#N/Aエラーを返します。このエラーハンドリングを適切に行うため、IFERROR関数と組み合わせて使用することが推奨される実装方法です。
行と列の両方をフィルタリングしたい場合、一つのFILTER関数の戻り値を別のFILTER関数の範囲として指定します。この手法により、複雑な条件による多段階のデータ絞り込みを実現し、目的に応じた精密な分析が可能になります。
※上記コンテンツの内容やソースコードはAIで確認・デバッグしておりますが、間違いやエラー、脆弱性などがある場合は、コメントよりご報告いただけますと幸いです。
ITやプログラミングに関するコラム
- Canvaとは?使い方やアカウント登録などを初心者向けに解説
- git configで設定情報を確認・表示する方法
- 「Pythonはやめとけ」と言われる理由と学習するメリット
- Ubuntuのversionを確認する方法
- Geminiで画像を生成する方法|ChatGPTとの比較結果も紹介