0Pricing
Excel Formulas Academy · レッスン

QUERYでデータを照会する

SheetsでSQLに似た構文を使い、データを選択、フィルタリング、グループ化します。

「QUERYでデータを照会する」はCoddyKit上の無料Excel Formulas Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはExcel Formulas Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Excel Formulas Academyコースには全4レッスンが含まれています。

QUERYの役割

Google Sheetsには、小さなデータベース言語のように使える関数が1つあります。それがQUERYです。選択、絞り込み、集計を、SQLに非常によく似た構文で行えます。

FILTER、SORT、SUMIFを重ねて使う代わりに、読みやすい指示を1つ書くだけです。たとえば、East地域の行だけを表示し、売上順に並べるという処理が、1つの数式になります。

QUERYはGoogle Sheets独自の機能です。Excelにはないため、このレッスン全体がSheets専用です。

基本構文

QUERYは3つの部分で構成されます。

  • data 読み取る範囲(A1:D100など)
  • query 引用符で囲んだ命令のテキスト文字列
  • headers ヘッダー行数を示す省略可能な数値

クエリ文字列がQUERYの要となる部分です。必ずダブルクォートで囲みます。

=QUERY(A1:D100, "SELECT A, B", 1)

列の選択

SELECT句では、返す列を選びます。QUERY内ではヘッダー名ではなく、シート上の列記号(A、B、C)で列を指定します。

SELECT *を使うとすべての列を返せます。必要な列だけを残すには、列を指定して並べます。指定した順番が、そのまま結果に表示される順番になります。

=QUERY(A1:D100, "SELECT C, A, B", 1)

サンプルデータセット

A1:D7に、Region、Rep、Product、Salesというヘッダーを持つ売上シートがあるとします。

  • A: Region(East、West)
  • B: Rep(Ann、Bo、Cy)
  • C: Product(Pens、Paper)
  • D: Sales(数値)

このデータセットをレッスンの後半でも使います。以下にQUERYの数式が出てきたら、このデータを思い浮かべてください。

WHEREによる絞り込み

WHERE句では、条件を満たす行だけを残します。=、>、<、>=などの演算子を使って、列と値を比較します。

テキスト値は、クエリ文字列全体がすでにダブルクォートで囲まれているため、文字列の中ではシングルクォートで囲みます。

=QUERY(A1:D7, "SELECT A, B, D WHERE A = 'East'", 1)

数値の比較

数値で絞り込む場合、クォートは必要ありません。売上金額の大きい行だけを見るには、列Dを数値と直接比較します。

これにより、Salesが500を超える行だけが返され、重要な取引に集中したレポートにできます。

=QUERY(A1:D7, "SELECT B, C, D WHERE D > 500", 1)

条件の組み合わせ

SQLと同じように、ANDとORを使って条件を組み合わせます。

  • ANDは両方の条件が真であることを要求します
  • ORは少なくとも一方が真であれば成立します

この例では、East地域に属し、売上が300を超える行を残します。

=QUERY(A1:D7, "SELECT A, B, D WHERE A = 'East' AND D > 300", 1)

行数の制限

LIMITを追加すると、返される行数の上限を設定できます。上位N件のプレビューを作成したり、ダッシュボードをすっきり見せたりするのに便利です。

ここでは、条件に一致した最初の3行だけを取得します。後で並べ替えと組み合わせれば、本格的な上位3件の一覧を作成できます。

=QUERY(A1:D7, "SELECT A, B, D WHERE D > 0 LIMIT 3", 1)

シングルクォートとダブルクォートの使い分け

これは最初に誰もがつまずきやすいポイントです。クエリ全体がSheetsの1つのテキスト文字列なので、ダブルクォートを使います。そのため、比較するテキスト値はその中でシングルクォートを使う必要があります。

WHERE A = "East"と書くと、内側のダブルクォートによって文字列が途中で終了するため、数式が壊れます。必ずWHERE A = 'East'と書いてください。

=QUERY(A1:D7, "SELECT * WHERE C = 'Pens'", 1)

クエリでのセル参照

セルの値を取り込むことで、インタラクティブなクエリを作成できます。セルの値はクォートの外側にあるため、&演算子で連結します。

セルF1に地域名が入っている場合、この数式はユーザーがそこに入力した値に応じて絞り込みます。

=QUERY(A1:D7, "SELECT A, B, D WHERE A = '" & F1 & "'", 1)

headers引数

3番目の引数は、データにヘッダー行が何行あるかをQUERYに伝えます。1行目にRegionやSalesなどのラベルがある場合は、1を渡します。

省略するとQUERYが推測しますが、誤ることがあります。ヘッダーを結果に混ぜたり、数値をテキストとして扱ったりする場合があるためです。1を明示すると、結果を予測しやすくなります。

=QUERY(A1:D7, "SELECT A, D WHERE D > 100", 1)

理解度チェック

QUERYの基本を理解できているか確認しましょう。

まとめ

Google Sheets QUERYの基本を学びました。

  • QUERY(data, query, headers)が基本構造です
  • SELECTでは列を記号で選び、*はすべての列を意味します
  • WHEREで行を絞り込み、ANDやORと組み合わせます
  • テキストにはシングルクォートを使い、数値にはクォートを使いません
  • &でセルの値を挿入し、インタラクティブな絞り込みを実現します

次は、結果を並べ替えたりグループ化したりして、集計を作成します。

=QUERY(A1:D7, "SELECT A, B, D WHERE A = 'East' AND D > 300 LIMIT 5", 1)

よくある質問

「QUERYでデータを照会する」レッスンは無料ですか?

はい。「QUERYでデータを照会する」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Excel Formulas Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Excel Formulas Academyコースには全4レッスンが含まれています。

「QUERYでデータを照会する」で何を学びますか?

SheetsでSQLに似た構文を使い、データを選択、フィルタリング、グループ化します。 ブラウザで直接実行するハンズオンコードでExcel Formulas Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Excel Formulas Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのExcel Formulas Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。

「QUERYでデータを照会する」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このExcel Formulas Academyレッスンでコードを書いて実行できますか?

はい。すべてのExcel Formulas Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. QUERYでデータを照会する
  2. QUERYで並べ替えとグループ化を行う
  3. ARRAYFORMULAで列に数式を適用する
  4. IMPORTRANGEでデータを取り込む
← Excel Formulas Academyに戻る