GoogleスプレッドシートでQUERYを使用する方法:構文と例

最終更新日: 2026年10月30日

  • QUERY関数を使用すると、元の範囲を変更することなく、データをフィルタリング、ソート、および集計できます。
  • ヘッダーとデータ型は結果に影響を与え、特に値が欠落している場合はその影響が顕著になります。
  • 結合配列は位置識別子を使用するため、構造が変更された場合はそれらを見直す必要があります。
  • エラーを隠す前に診断しておくことをお勧めします。そうすることで、誤った数式を、一致するクエリがないクエリと混同することを防ぐことができます。
GoogleスプレッドシートでQUERYを使用する方法

La GoogleスプレッドシートのQUERY関数 permite seleccionar columnas, filtrar registros, ordenar resultados y calcular resúmenes mediante una fórmula. Resulta útil cuando necesitas generar un informe que dependa de los datos de otra tabla sin modificar el contenido original.

Su consulta utiliza el lenguaje de Google Visualization, con una sintaxis parecida a SQL. Para empezar no necesitas conocer todo ese lenguaje: puedes construir una consulta sencilla y añadir condiciones o agrupaciones a medida que las necesites.

GoogleスプレッドシートのQUERY構文と最初の例

GoogleスプレッドシートのQUERY構文

関数構造には3つの引数があります。

=QUERY(datos; consulta; encabezados)
  • データ: クエリを実行する対象の範囲または行列。
  • 相談: 引用符で囲まれた指示、またはそれらを含むセルへの参照。
  • 見出し: 指定範囲の最初の行のうち、見出し行の数を指定します。見出し行がある場合は 1、ない場合は 0 を入力してください。省略した場合、または -1 を入力した場合は、Sheets が推測します。

以下の例では、このような構造のテーブルを使用します。

A: 日付 B: クライアント C: 状態 D:金額 E: チャンネル
2026年10月01日 アン 満杯 100 ウェブ
2026年10月02日 ルイス イヤリング 80 店
2026年10月03日 アン 満杯 50 店
2026年10月04日 マーテン 満杯 200 ウェブ
2026年10月05日 ルイス キャンセル 40 ウェブ

ヘッダーは1行目にあり、5つのレコードは2行目から6行目にあります。テーブル全体を返すには、例えばG1などの空欄に数式を入力します。

=QUERY(A1:E6;"select *";1)

例では 引数間のセミコロンファイルでカンマを使用している場合は、それらの区切り文字を調整してください。クエリ テキスト内のカンマは、 select B, Dそれらは保存されなければならない。

限定コンテンツ - ここをクリックしてください  Googleフォトを使ってデジタルクローゼットを作成し、服を自動的に整理する方法

列を選択し、結果をフィルタリングして並べ替えます。

ノートパソコンの横に置かれた図表や書類の上に虫眼鏡が置かれている。

その条項 選択 これにより、表示する列を選択できます。顧客と金額のみを表示するには、次のようにします。

=QUERY(A1:E6;"select B, D";1)

と どこ 完了した注文のみにレコードを絞り込むことができます。

=QUERY(A1:E6;"select B, D where C = 'Completado'";1)

この例では、アナの操作とマルタの操作の両方が返されます。 並べ替え 数量の多い順に並べ替えることができます。

=QUERY(A1:E6;"select B, D where C = 'Completado' order by D desc";1)

条件を組み合わせることもできます。

=QUERY(A1:E6;"select B, D where C = 'Completado' and D >= 100 order by D desc";1)

この最後のクエリでは、Marta に 200、Ana に 100 が返されます。数値は引用符なしで比較されます。テキスト値はクエリ内で単一引用符で囲まれます。

GROUP BY句で金額をグループ化し、ヘッダーを変更します。

顧客一人当たりの合計金額を取得するには、 グループ化 と 和():

=QUERY(A1:E6;"select B, sum(D) group by B label sum(D) 'Importe total'";1)

El resultado muestra 150 para Ana, 120 para Luis y 200 para Marta. En este caso se incluyen todos los estados porque no hemos añadido un filtro.

Si solo quieres sumar pedidos completados:

=QUERY(A1:E6;"select B, sum(D) where C = 'Completado' group by B order by sum(D) desc label sum(D) 'Ventas completadas'";1)

他の集計方法も使用できます。 avg(), count(), min() y max()グループ化する場合、集計されない選択された列は、 group by.

覚えておいてください count(D) は、D の null 以外の値をカウントします。金額を合計する機能はありません。取引件数をカウントする必要がある場合は、適切な列を選択してください。

PIVOT、LIMIT、OFFSET を使用する

その条項 ピボット フィールドの値を列に変換します。たとえば、各顧客の完了した売上をWebと店舗に振り分けることができます。

=QUERY(A1:E6;"select B, sum(D) where C = 'Completado' group by B pivot E";1)

上位3件の金額のみを取得するには、 制限 注文後:

=QUERY(A1:E6;"select B, D order by D desc limit 3";1)

と オフセット 結果から行を省略できます。このクエリは、ソート順の最初の 2 つのレコードをスキップし、次の 2 つのレコードを返します。

=QUERY(A1:E6;"select B, D order by D desc limit 2 offset 2";1)

条項は順序を守らなければならない。 select, where, group by, pivot, order by, limit, offset, label y format.

日付をフィルタリングしてテキストを操作する

A列にGoogleスプレッドシートで認識される日付が含まれている場合、10月の取引を次のように選択できます。

=QUERY(A1:E6;"select * where A >= date '2026-10-01' and A < date '2026-11-01'";1)

クエリ内の日付フィールドは次の形式を使用します 年-月-日, aunque las celdas muestren día/mes/año. Si el origen contiene texto que parece una fecha, tendrás que corregirlo antes.

限定コンテンツ - ここをクリックしてください  Google ダークウェブレポート: ツールの終了と今後の対応

Para trabajar con partes de las fechas existen year(), month() y day()ご注意ください month() は、1月を0として始まり、12月を11として終わります。. Al agrupar varios años, utiliza también el año para no mezclar meses equivalentes.

En los filtros de texto puedes emplear contains, starts with, ends with o matches比較は大文字と小文字を区別します。テキストを正規化するには、 lower() o upper().

Col1とCol2を使用して、複数のシートのデータを結合します。

2人の専門家が、コンピューター上で表やグラフを確認している。

同じファイルの2つのタブからレコードを重ねるには、中括弧を使って配列を作成できます。両方のタブに同じ5つの列と1行のヘッダーがあると仮定しましょう。

=QUERY({Ventas1!A1:E100;Ventas2!A2:E100};"select Col2, Col4 where Col2 is not null";1)

La primera referencia incluye los encabezados; la segunda empieza en la fila 2 para no repetirlos. Los rangos deben tener el mismo número de columnas y una estructura compatible.

En esta matriz, Col1は1列目、Col2は2列目を表します。. Son posiciones dentro del conjunto consultado, no nombres de campos. Si reorganizas el contenido de las columnas, revisa la consulta para que siga seleccionando la información correcta.

限定コンテンツ - ここをクリックしてください  計算機の仕組み

El punto y coma dentro de las llaves apila los rangos verticalmente. Esta operación no relaciona registros por un identificador ni equivale a realizar un JOIN entre tablas.

よくあるクエリエラーとその見つけ方

  • 欠損値: 複数の型が混在する列では、少数派の型の値が失われる可能性があり、QUERY はそれを null として解釈します。
  • クエリの解析中にエラーが発生しました。 ストレートクォート、識別子、関数、および句の順序を確認してください。
  • 新しいレコードは表示されません。 それらが照会範囲に含まれていることを確認してください。100行目までの参照では、101行目は含まれません。
  • 行列は展開できません。 結果が表示されるはずのセルは空けておき、結合されたセルがないか確認してください。
  • データ行はタイトルとして解釈されます。 ヘッダー引数を確認してください。

数式を括弧で囲まないでください IF.ERROR または IFERROR mientras estés buscando el fallo: podrías ocultar un problema de sintaxis y confundirlo con la ausencia de coincidencias.

Cuando la consulta ya funcione, si quieres tratar específicamente un error #N/A、使用することができます SI.ND:

=SI.ND(QUERY(A1:E6;"select B, D where C = 'Devuelto'";1);"Sin coincidencias")

ファイルに関数名が英語で保存されている場合は、 IFNA. Esta función trata los errores de ese tipo; no demuestra por sí misma cuál ha sido su causa.

Para trabajar con seguridad, empieza con una selección sencilla y añade cada condición por separado. QUERY recalcula su resultado cuando cambian los datos de los que depende, pero 原点を変更したり、閉じた範囲を自動的に拡張したりすることはありません。.