GoogleスプレッドシートのQUERY関数で使用するクエリ一覧

スポンサーリンク

GoogleスプレッドシートのQUERY(クエリ)関数は、スプレッドシート内の膨大なデータを柔軟にフィルタリング(抽出)、並び替え、集計するための非常に強力なツールです。本記事では、QUERY関数で使用できる代表的なクエリ(命令文)の一覧を具体例とともに紹介します。

スポンサーリンク
amazon
スマイルSALE
--:--:--
ad. 価格範囲を指定して商品を探せます

QUERY関数の基本構文

=QUERY(データ範囲, クエリ, [ヘッダー行数])

数式の具体例:

=QUERY(A1:D10, "SELECT A, B WHERE C > 100", 1)

この例では、データ範囲「A1:D10」から列Aと列Bを抽出し、さらに列Cの値が100より大きい行だけを取得します(1行目は見出しとして扱います)。

主要クエリ(句)一覧

SELECT(列の選択・抽出)

クエリ例 説明と役割
SELECT A, B 列Aと列Bのみを選択して抽出します。
SELECT * データ範囲内にあるすべての列を選択して抽出します。

WHERE(条件による行のフィルタリング)

クエリ例 説明と役割
WHERE C > 100 列Cの値が100より大きい行のみを取得します。
WHERE D = 'Tokyo' 列Dの文字列が「Tokyo」と完全に一致する行を取得します。
WHERE A CONTAINS 'abc' 列Aに文字列「abc」が含まれている行を取得します。

ORDER BY(データの並び替え)

クエリ例 説明と役割
ORDER BY B 列Bの値を基準にして「昇順(小さい順・五十音順)」に並び替えます。
ORDER BY C DESC 列Cの値を基準にして「降順(大きい順・逆順)」に並び替えます。

LIMIT(取得する行数の制限)

クエリ例 説明と役割
LIMIT 10 抽出されたデータの上位10行のみを取得します。
LIMIT 1 抽出されたデータの最初の1行のみを取得します。

OFFSET(データ取得の開始位置を指定)

クエリ例 説明と役割
OFFSET 5 先頭の5行をスキップし、6行目以降のデータを取得します。
LIMIT 10 OFFSET 5 先頭の5行をスキップし、そこから10行分のデータを取得します。

GROUP BY(データのグループ化・集計)

※GROUP BYを使用する場合、SELECT句にはグループ化する列と集計関数(SUM、AVG、COUNTなど)のみを指定する必要があります。

クエリ例 説明と役割
GROUP BY A 列Aの値が同じデータをグループとしてまとめます。
SELECT A, SUM(B) GROUP BY A 列Aの値ごとに、対応する列Bの数値を合計した値を取得します。

PIVOT(クロス集計・ピボットテーブルの作成)

クエリ例 説明と役割
PIVOT B 列Bの値を新しい「列見出し」として横方向に展開し、クロス集計を行います。

具体的なデータを使った使用例

以下のような売買データシートを元に、QUERY関数を適用してみます。

A列(商品) B列(価格) C列(カテゴリ)
1行目 商品 価格 カテゴリ
2行目 リンゴ 100 果物
3行目 オレンジ 120 果物
4行目 キャベツ 80 野菜

数式とクエリの例:

=QUERY(A1:C4, "SELECT A, B WHERE C = '果物' ORDER BY B DESC", 1)

この数式の結果:
カテゴリ(C列)が「果物」である行の、商品名(A列)と価格(B列)を抽出し、価格の高い順(降順)に並び替えて出力します。