
GoogleスプレッドシートのFILTER関数の基本的な使い方から、別のシートや別のスプレッドシート(別ファイル)からデータを参照する方法まで詳しく解説します。特に、別ファイル参照で強力なQUERY関数を使うテクニックもご紹介するので、ぜひ参考にしてください。
FILTER関数の使い方

FILTER関数は、指定した「条件」に基づいて、特定の行だけを絞り込んで抽出します。
例えばA列が産地、B列が商品名のデータから、商品名が「りんご」の行だけを抽出したい場合、数式は以下のようになります。
例:=FILTER(A2:B5,B2:B5="りんご")
FILTER関数の引数:(結果の範囲, 条件1, [条件2, …])
FILTER関数で別シートを参照する方法

まず、結果を表示したいシートを開き、FILTER関数の開き括弧まで入力します。
例:=FILTER(

次に、参照したいデータがあるシートに切り替え、「範囲」と「条件」を選択していきます。シート名と選択した範囲は、自動的に数式に入力されます。
例:=FILTER('データ'!B2:B5,'データ'!A2:A5="青森")

最後に、「Enter」キーで確定すると、結果が表示されます。
FILTER関数で別ファイルを参照する方法

別のスプレッドシートから、FILTER関数でデータを抽出する方法をご紹介します。この方法で数式が長くなる場合は、最後にご紹介するQUERY関数を使うと、数式をシンプルにできます。
FILTER関数とIMPORTRANGE関数を組み合わせる方法

まず、IMPORTRANGE関数で別ファイルのデータを読み込み、それをFILTER関数の「結果の範囲」や「条件範囲」として指定することで、別ファイルからのデータを抽出します。
例:=FILTER(IMPORTRANGE("URL","シート名!範囲"),IMPORTRANGE("URL","シート名!範囲")="条件")
IMPORTRANGE関数の引数:(“スプレッドシートのURL”, “[シート名!]範囲”)
- “スプレッドシートのURL”: 参照したいスプレッドシートのURLを、二重引用符
"
で囲んで指定します。 - “[シート名!]範囲”: 参照したいシート名と範囲を二重引用符
"
で囲んで指定します。シート名を省略した場合、先頭のシートが参照されます。

初回インポート時はエラーにりますが、「アクセスを許可」をクリックすると、データが表示されます。
QUERY関数を使う方法

まず、IMPORTRANGE関数で別ファイルのデータを読み込み、それをQUERY関数の「データ範囲」として指定することで、別ファイルからのデータを抽出します。
例えば、データ範囲の1列目が「青森」の条件と一致する行を、1列目と2列目から抽出したい場合、数式は以下のようになります。
例:=QUERY(IMPORTRANGE("URL","シート名!範囲"), "SELECT Col1, Col2 WHERE Col1 = '青森'")
QUERY関数の引数:(データ, クエリ, [見出し])
- データ: 処理したいデータの範囲を指定します。IMPORTRANGE関数で読み込んだデータもここに含まれます。
- クエリ: データに対して実行する「処理・命令」
- SELECT句:抽出する列を指定します。すべての列を抽出したい場合は、
*
(例:SELECT *
)を指定します。 - WHERE句: 条件を検索する列と、その条件を指定します。
- SELECT句:抽出する列を指定します。すべての列を抽出したい場合は、