如何在 Google 表格中使用 QUERY:語法和範例

最後更新: 2026年30月10日

  • QUERY 允許您篩選、排序和匯總數據,而無需修改原始範圍。
  • 標題和資料類型會影響結果,尤其是在缺少值的情況下。
  • 組合數組使用位置標識符,如果結構發生變化,則必須檢查這些標識符。
  • 建議在隱藏錯誤之前先診斷錯誤,以免將錯誤的公式與沒有匹配項的查詢混淆。
如何在 Google 表格中使用 QUERY 函數

La Google Sheets 查詢函數 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(datos; consulta; encabezados)
  • 數據: 您要查詢的範圍或矩陣。
  • 諮詢: 用引號括起來的指令,或指向包含這些指令的單元格的引用。
  • 標題: 指定區域中初始行作為標題行的數量。如果存在標題行,則使用 1;否則使用 0。如果省略此參數或輸入 -1,Sheets 將嘗試自動猜測。

在以下範例中,我們將使用具有以下結構的表格:

A:日期 B:客戶 C:州 D:金額 E:頻道
2026年01月10日 安 已填滿 100 網站
2026年02月10日 路易斯 耳環 80 店鋪
2026年03月10日 安 已填滿 50 店鋪
2026年04月10日 貂 已填滿 200 網站
2026年05月10日 路易斯 取消 40 網站

表頭位於第 1 行,五筆記錄位於第 2 行至第 6 行。若要返回整個表格,請在空白區域(例如 G1)中輸入公式:

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

這些例子使用 論證之間用分號分隔如果您的檔案使用逗號分隔符,請調整這些分隔符。查詢文字中的逗號,例如: select B, D它們必須被保存下來。

獨家內容 - 點擊這裡  如何使用 Google Photos 建立數位衣櫃並自動整理衣物

選擇列,篩選和排序結果

筆記型電腦旁,放大鏡對準圖片和文件。

該條款 選擇 這樣您可以選擇要顯示的欄位。例如,若要僅顯示客戶和金額:

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

和 在哪裡 您可以將記錄範圍限定為已完成的訂單:

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

此範例傳回了Ana和Marta的所有操作。添加 按順序 您可以按金額降序排列:

=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 中非空值的個數。它不會匯總金額。如果您需要統計交易筆數,請選擇對應的欄位。

使用 PIVOT、LIMIT 和 OFFSET 指標。

該條款 樞 將欄位值轉換為列。例如,您可以將每位客戶已完成的銷售記錄指派到 Web 和實體店面:

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

要只獲取最高的三個金額,請使用 限制 下單後:

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

和 抵銷 您可以從結果中省略某些行。此查詢會跳過排序中的前兩筆記錄,並傳回接下來的兩筆記錄:

=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 欄位包含 Sheets 可識別的日期,則可以如下選擇 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.

獨家內容 - 點擊這裡  谷歌暗網報告:工具關閉及應對措施

Para trabajar con partes de las fechas existen year(), month() y day()請注意 month() 函數從 0 開始,代表一月,到 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 合併多個工作表的數據

兩位專業人士正在電腦上檢視表格和圖表。

要將同一文件的兩個工作表中的記錄堆疊起來,可以使用花括號建立陣列。假設兩個工作表都具有相同的五列和一行標題行:

=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 代表第一列,Col2 代表第二列。. 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 它不會修改原點,也不會自動擴展已閉合的範圍。.