Sheet基本
QUERY関数 SQL構文詳細ガイド
QUERY関数 SQL構文詳細ガイド
WHERE・GROUP BY・PIVOT・FORMAT を使いこなす
QUERY関数の基本を押さえた後の上級活用編。複数条件・グループ集計・ピボット変換・日付条件の書き方など、実務でよく詰まるSQL構文パターンを完全解説する。
GASとの関係:QUERYのSQL構文がBigQueryに直結する
QUERYで書くSQL文法はGASからBigQueryを操作する際の基礎になります。スプレッドシートでSQLを練習した後、GASからBigQueryに接続する際は BigQuery.Jobs.query() で同様のSQLが使えます。
目次
QUERY関数のSQL構文リファレンス
| 句 | 役割 | 使用例 |
|---|---|---|
| SELECT | 返す列を指定 | SELECT A, B, SUM(C) |
| WHERE | 行の絞り込み条件 | WHERE A = ‘東京’ AND C > 50000 |
| GROUP BY | グループ集計 | GROUP BY A |
| PIVOT | 列をクロス集計(ピボット) | PIVOT B |
| ORDER BY | 並べ替え | ORDER BY C DESC |
| LIMIT / OFFSET | 件数・スキップ | LIMIT 10 OFFSET 5 |
| LABEL | ヘッダー名変更 | LABEL SUM(C) ‘売上合計’ |
| FORMAT | 表示書式の指定 | FORMAT C ‘#,##0’ |
WHERE句の条件式詳細
// 文字列条件(シングルクォートで囲む)
WHERE A = '東京'
WHERE A != '大阪'
WHERE A LIKE '%支店%' // 部分一致
// 数値条件
WHERE C > 50000
WHERE C >= 50000 AND C <= 100000
// 日付条件
WHERE B >= date '2024-01-01'
WHERE B = date '2024-03-15'
// NULL(空白)条件
WHERE A IS NOT NULL
WHERE A IS NULL
// セル参照を条件に組み込む(文字列の場合)
=QUERY(A1:D100, "SELECT * WHERE A = '"&E1&"'", 1)
// セル参照(数値の場合)
=QUERY(A1:D100, "SELECT * WHERE C > "&F1, 1)
GROUP BY による集計
// エリアごとの売上合計
=QUERY(A1:C100, "SELECT A, SUM(C) GROUP BY A LABEL SUM(C) '売上合計'", 1)
// 複数列でグループ化(エリア × 担当者)
=QUERY(A1:D100, "SELECT A, B, SUM(C) GROUP BY A, B", 1)
// 平均・件数もあわせて
=QUERY(A1:C100, "SELECT A, COUNT(A), SUM(C), AVG(C) GROUP BY A", 1)
PIVOT — クロス集計
// A列(エリア)ごと、B列(担当者)を列方向に展開したC列合計
=QUERY(A1:C100, "SELECT A, SUM(C) GROUP BY A PIVOT B", 1)
// → 行方向:エリア名、列方向:担当者名、セル:売上合計
LABEL と FORMAT
// ヘッダー名と表示形式を指定
=QUERY(A1:C100,
"SELECT A, SUM(C)
GROUP BY A
LABEL A 'エリア', SUM(C) '合計売上'
FORMAT SUM(C) '#,##0'",
1)
QUERY vs FILTER / SUMIFS の選択基準
| 場面 | 推奨関数 |
|---|---|
| 列の選択 + 絞り込み + 並べ替えをまとめて | QUERY |
| グループ別集計(GROUP BY) | QUERY(SUMIFS不可) |
| ピボット(クロス集計) | QUERY(PIVOT句) |
| 複雑なOR条件で絞り込みたい | FILTER(より柔軟) |
| SORT・UNIQUEと組み合わせたい | FILTER |
この知識をGASで活かす
QUERYのSQL文法はGASからBigQueryを操作するときに直接役立ちます。QUERYで書いたクエリ文字列のほとんどはBigQueryでも通用する標準SQLです。スプレッドシートでSQL練習 → GAS+BigQueryで大規模データ処理というスキルパスを描けます。
Free Newsletter
AIを業務に活かしたいなら
SMR-Labメルマガ
毎週火曜10時、コピペで使えるChatGPTプロンプト・
GASテンプレートをお届け。登録は1分・完全無料。
