QUERY関数の使い方|表から条件で取り出す・集計する
※写真はイメージです
書き方
=QUERY(データ, クエリ, [見出し])表から条件に合う行だけ取り出したり、合計したり、並べ替えたりを、1つの式でまとめてできます。2つ目の引数に、select・where・group by のような決まった言葉(クエリ)を " " で囲んで書きます。
引数の意味
| 引数 | 入れるもの | 図の例 |
|---|---|---|
| データ | 見出しつきの表 | A1:C5 |
| クエリ | どの列を・どの条件で・どう集計するか | "select B, sum(C) group by B" |
| 見出し 省略できる | 見出しの行数。ふつうは省略 | 1 |
よく使う書き方(例文)
| やりたいこと | クエリ |
|---|---|
| A列とC列だけ出す | "select A, C" |
| 売上が100以上の行 | "select * where C >= 100" |
| 支店が八王子の行(文字の条件) | "select * where B = '八王子'"(文字は ' ' で囲む) |
| 「八」を含む | "select * where B contains '八'" |
| 売上の大きい順 | "select * order by C desc" |
| 上から3行だけ | "select * order by C desc limit 3" |
| 支店ごとの合計 | "select B, sum(C) group by B" |
| 件数を数える | "select B, count(C) group by B" |
| 見出しを「合計」に変える | "select B, sum(C) group by B label sum(C) '合計'" |
言葉を書く順番は決まっている
クエリの言葉は、select → where → group by → pivot → order by → limit → label の順に書きます。順番がちがうと「#VALUE!」になります。
日付で絞る
=QUERY(A1:C100, "select * where A >= date '2026-11-01'")日付は date '2026-11-01' の形で書きます。セルの日付を使うなら "where A >= date '"&TEXT(F1,"yyyy-mm-dd")&"'" のようにつなぎます。A列が本当に日付(右寄せ)になっているかも確かめます。
セルの値を条件に使う
=QUERY(A1:C100, "select * where B = '"&F1&"'")F1に「八王子」と入れておくと、F1を書き換えるだけで絞り込みが変わります。' と " の順番をまちがえやすいので、コピーして使ってください。
うまくいかないとき
1#VALUE!「クエリ文字列を解析できません」
言葉の順番がちがうか、文字の条件を ' ' で囲んでいません。
直し方select → where → group by → order by → limit → label の順にし、文字は '八王子' のように囲みます。
2数字の行が出てこない・空になる
1つの列に数字と文字がまざっていて、少ないほうがない扱いになっています。
直し方列の表示形式をそろえます(数字なら数字だけ、文字なら書式なしテキストに)。
3IMPORTRANGEと組み合わせると #VALUE!
IMPORTRANGEなどで作った表は、A・B・C で指定できません。
直し方Col1, Col2 のように、左から何番目かで書きます。
4見出しが1行目のデータとくっつく
見出しの行数の判定がずれています。
直し方3つ目の引数に 1 を入れて、見出しは1行だと教えます。
使えるバージョン
Googleスプレッドシートだけの関数です。Excelにはありません。
Excelでは
Excelでは、条件で取り出すなら FILTER、集計するなら GROUPBY(Microsoft 365)やピボットテーブルを使います。
よくある質問
QUERY関数とは?
表から条件に合う行を取り出したり、集計・並べ替えをしたりを、select・whereなどの言葉で1つの式に書けるGoogleスプレッドシートの関数です。
文字の条件はどう書きますか?
where B = '八王子' のように、シングルクォート(')で囲みます。
日付の条件は?
where A >= date '2026-11-01' の形で書きます。
IMPORTRANGEと組み合わせるには?
列をCol1・Col2のように、左から何番目かで書きます。
一緒に覚えたい関数・操作
このページについて
操作の説明は、パソコンのブラウザで開いた日本語のGoogleスプレッドシートに合わせています。関数の働きはGoogleの公式ヘルプ(スプレッドシートの関数リスト)で確かめています。図はこのサイトで作ったもので、表の会社名・商品名・人名・URLは例です。このサイトはGoogleとは関係ありません。運営者情報