
スプレッドシートのQUERY関数はデータの抽出や集計を効率化する強力な関数です。SQL(Structured Query Language)に似た構文を使って、必要なデータを自由に取り出せます。特に大量のデータを扱う場合や特定の条件に合致するデータを素早く見つけたい場合に便利です。
本記事ではQUERY関数の基本的な使い方から、別シートからデータを呼び出す方法まで詳しく解説します。具体的な例を交えながら実践的な活用法も紹介するので、ぜひ最後までご覧ください。
QUERY関数とは?
QUERY関数はGoogleスプレッドシート内でデータを検索・抽出・加工するための関数です。SQLに似た構文を使用してスプレッドシート内のデータを効率的に操作できます。
QUERY関数の基本構文
=QUERY(データ範囲, クエリ, ヘッダー行)
項目 | 説明 |
---|---|
データ範囲 | データを含むセル範囲(例:A1:D100) |
クエリ | SQL風のクエリ(例:”SELECT A, B WHERE C > 10″) |
ヘッダー行 | ヘッダー行の数(通常は1、ヘッダーがない場合は0) |
QUERY関数の特徴
- SQLに近い構文で柔軟なデータ抽出が可能
- データの並び替え、集計、条件付き検索が簡単
- スプレッドシート内のデータだけでなく、別シートや外部データも扱える
QUERY関数の基本的な使い方
データの抽出
例1:A列とB列のデータをすべて抽出する
=QUERY(A1:D100, "SELECT A, B", 1)
→ A列とB列のデータをすべて取り出します。
例2:特定の条件に一致するデータを抽出する
- C列が「10以上」のデータを抽出
=QUERY(A1:D100, "SELECT A, B WHERE C >= 10", 1)
→ C列が10以上のデータのみを抽出します。
データの並べ替え
例3:C列を昇順で並べ替える
=QUERY(A1:D100, "SELECT A, B, C ORDER BY C ASC", 1)
→ C列のデータを昇順に並べ替えます。
重複を排除してデータを抽出
例4:A列のデータから重複を排除
=QUERY(A1:D100, "SELECT DISTINCT A", 1)
→ A列の重複データを排除して抽出します。
データを集計
例5:B列の合計値を求める
=QUERY(A1:D100, "SELECT SUM(B)", 1)
→ B列の合計値を計算します。
QUERY関数で別シートからデータを呼び出す方法
QUERY関数は同じシート内のデータだけでなく、別シートのデータにも対応しています。
別シートからデータを取得する基本構文
=QUERY(シート名!範囲, "クエリ", ヘッダー行)
「シート名!範囲」の部分で、別シートを指定します。
別シートからのデータ抽出の例
例6:”Sheet2″ のA1~D100からA列とB列を抽出
=QUERY(Sheet2!A1:D100, "SELECT A, B", 1)
→ “Sheet2” からA列とB列のデータを抽出します。
INDIRECT関数と組み合わせてシート名を動的に指定
例7:セルB1に記載されたシート名からデータを取得
=QUERY(INDIRECT(B1 & "!A1:D100"), "SELECT A, B", 1)
→ B1に”Sheet2″と記載されている場合、”Sheet2″ からデータを取得します。
→ INDIRECT関数を使えば、シート名を動的に切り替えられます。
QUERY関数の応用例
日付データを抽出
例8:2025年1月1日以降のデータを抽出
=QUERY(A1:D100, "SELECT A, B WHERE C >= DATE '2025-01-01'", 1)
→ DATE関数を使うことで、日付を条件に指定可能。
文字列の条件検索
例9:A列に「Apple」を含むデータを抽出
=QUERY(A1:D100, "SELECT A, B WHERE A CONTAINS 'Apple'", 1)
→ “CONTAINS”を使えば、部分一致検索が可能。
特定の文字列を含まないデータを抽出
例10:A列に「Apple」を含まないデータを抽出
=QUERY(A1:D100, "SELECT A, B WHERE NOT A CONTAINS 'Apple'", 1)
QUERY関数を使う際の注意点
- クエリ構文エラーに注意
- スペルミスや不要なスペースがあるとエラーになります。
- フィールド名(列名)にスペースがある場合は「`(バッククォート)」で囲む必要があります。
- データ型の不一致に注意
- 数値や日付を扱う場合、クエリ内で適切なデータ型を指定する必要があります。
- データ範囲の指定に注意
- データ範囲を広く指定しすぎると処理速度が低下する可能性があります。
QUERY関数の活用シーン
- データの集計・分析:売上データやアクセスデータを条件に応じて集計
- レポート作成:特定の条件を満たすデータを自動抽出してレポートに反映
- リアルタイムデータの監視:最新のデータをQUERY関数で自動抽出
まとめ
QUERY関数はスプレッドシートで大量のデータを扱う際に非常に便利な関数です。基本的なデータ抽出から別シートからのデータ参照、日付や文字列の条件検索、集計まで幅広く対応可能です。特にINDIRECT関数と組み合わせれば、データソースを柔軟に変更できるため、より効率的なデータ管理が可能になります。
QUERY関数をマスターして、スプレッドシートでの作業を効率化しましょう。
他にもOfficeソフトに関する記事を上げています。是非色々見てみてください。