GoogleスプレッドシートのQUERY関数とは?基本の使い方と実務例をわかりやすく解説

Googleスプレッドシートで大量のデータを扱っていると、「特定の条件に合うデータだけを抽出したい」「並び替えや集計を簡単にしたい」と思うことはありませんか?

そんな時に便利なのが、QUERY関数です。
まるでデータベースのように、表から条件を指定して欲しい情報だけを取り出すことができるのが特徴です。

この記事では、事務職や小売・サービス業での実務を想定しながら、QUERY関数の基本的な使い方を、初心者の方にもわかりやすく解説していきます。

目次

QUERY関数って何ができるの?

QUERY関数をひとことで言うと、表形式のデータを検索・抽出・並び替え・集計できる関数です。

基本構文はこちら。

=QUERY(範囲, "クエリ文", [ヘッダー行数])
引数内容
範囲抽出対象となるデータ範囲(例:A1:D100)
クエリ文SQL風の文法で条件を指定(例:”SELECT A, B WHERE C = ‘売上'”)
ヘッダー行数(省略可能)ヘッダーが何行あるか。1行なら「1」

この QUERY 関数の最大の特長は、「検索」「並び替え」「集計」「条件抽出」が一度にできるところです。

QUERY関数の基本:SELECTとWHEREの使い方

まずは、よく使う「SELECT」と「WHERE」について解説します。

例:売上データから「売上が1万円以上」のデータだけを抽出したい

日付商品名売上担当者
6/1りんご800佐藤
6/2みかん1200鈴木
6/3ぶどう15000田中
6/4バナナ9800佐藤

この表(A1:D5)から、「売上が1万円以上」の行だけを取り出すには、次のように書きます。

=QUERY(A1:D5, "SELECT A, B, C, D WHERE C >= 10000", 1)

ポイント

  • 「SELECT A, B, C, D」→ 表の全列を選択
  • 「WHERE C >= 10000」→ 売上(列C)が1万円以上

抽出結果

よくある失敗:列の指定は「A・B・C」などのアルファベット

QUERY関数では、列番号(1・2・3)ではなく、列のアルファベット(A・B・C)で指定します。

SELECT 1, 2 WHERE 3 >= 10000(エラーになります)

SELECT A, B WHERE C >= 10000

慣れないうちはここでつまずきがちなので、しっかり覚えておきましょう!

全部の列を抽出する場合は以下のような書き方でもOK
SERECT * WHERE C >=10000

文字列の条件抽出:担当者が「佐藤」の行だけを抽出

=QUERY(A1:D5, "SELECT A, B, C, D WHERE D = '佐藤'", 1)

文字列は '(シングルクォーテーション) で囲みます。

抽出結果

あいまい検索したいときは?LIKEを使おう

WHERE では、「完全一致」だけでなく、部分一致や前方一致などのあいまい検索も可能です。
そのときに使うのが LIKE です。

例:「担当者名に『佐』が含まれる行」だけを抽出したい

=QUERY(A1:D5, "SELECT A, B, C, D WHERE D LIKE '%佐%'", 1)

%佐% は、「どこかに『佐』という文字が含まれている」という意味になります。
つまり「佐藤」や「佐々木」なども対象になります。

LIKEで使えるワイルドカード

記号意味
%任意の文字列(0文字以上)%佐% → 「佐」を含むすべて
'_任意の1文字(1文字だけ)_藤 → 「佐藤」「伊藤」など

例:担当者が「○藤さん」で終わる名前を検索

=QUERY(A1:D5, "SELECT A, B, C, D WHERE D LIKE '%藤'", 1)

→ 「佐藤」「斎藤」「加藤」など、「藤」で終わる担当者がヒットします。
  試しに「藤」で終わる名前に変更し、上記関数を実行してみました👇

複数条件で抽出したいときは?

WHERE句では、ANDORを使って複数の条件を組み合わせることができます。

例:「売上が1万円以上」かつ「担当者が田中」

=QUERY(A1:D5, "SELECT A, B, C, D WHERE C >= 10000 AND D = '田中'", 1)

→ どちらの条件も満たす行だけが抽出されます。

例:「売上が1万円以上」または「担当者が佐藤」

=QUERY(A1:D5, "SELECT A, B, C, D WHERE C >= 10000 OR D = '佐藤'", 1)

→ どちらかの条件に合っていればOK。

実務での活用アイデア

  • 月別売上表から「今月の売上が1万円以上のデータ」だけを抽出して共有資料に貼る
  • 顧客リストから「法人顧客」だけを抜き出す
  • シフト表から「土日の勤務者」だけを表示して、チェックリストに使う

スプレッドシート内で完結するので、フィルターよりも柔軟に抽出・加工できるのが魅力です。

まとめ:QUERY関数を使えば、日々の集計作業がグッと楽になる!

QUERY関数は、一見難しそうに見えますが、使いこなせると本当に便利です。

特に、小売業やサービス業でよく使われる「売上管理表」「シフト表」「顧客名簿」などとの相性がバツグン。
手作業でやっていた絞り込み作業が、一瞬で済むようになります

次回は、並び替え(ORDER BY)や集計(GROUP BY)について、実例を交えながら解説していきますので、ぜひチェックしてください!

おまけ:QUERY関数の基本構文一覧(よく使うものだけ)

文法役割
SELECT取得する列を指定SELECT A, B
WHERE条件を指定WHERE C >= 10000
AND / OR複数条件の指定WHERE C >= 10000 AND D = ‘田中’
ORDER BY並び替えORDER BY C DESC
LIMIT取得件数を制限LIMIT 5
LABEL列名を変更LABEL A ‘日付’, B ‘商品名’

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

1994年生まれ。福岡出身、福岡育ち、福岡在住。
エンジニアを数年経験し、現在は事業会社でデータ分析業務に従事しています。
好きな物:猫、ラーメン
取得資格:基本情報技術者、G検定、統計検定2級

目次