ピアのパソコン学習ガイド
メニュー
スプレッドシートの関数

QUERY関数の使い方|表から条件で取り出す・集計する

ピアのパソコン学習ガイド 編集部2026年11月12日 更新

※写真はイメージです

書き方

=QUERY(データ, クエリ, [見出し])

表から条件に合う行だけ取り出したり、合計したり、並べ替えたりを、1つの式でまとめてできます。2つ目の引数に、select・where・group by のような決まった言葉(クエリ)を " " で囲んで書きます。

QUERY関数の使い方の図 E1 fx =QUERY(A1:C5,"select B, sum(C) group by B") A B C D E F 1 2 3 4 5 日付 支店 売上 11/1 八王子 120 11/1 国分寺 90 11/2 八王子 150 11/2 国分寺 110 支店 sum 売上 八王子 270 国分寺 200
支店(B)ごとに売上(C)を合計した表が、E1から広がります。見出しの「sum 売上」は、label で変えられます(下で説明)。

引数の意味

引数入れるもの図の例
データ見出しつきの表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とは関係ありません。運営者情報