- QUERY memungkinkan Anda untuk memfilter, mengurutkan, dan meringkas data tanpa mengubah rentang aslinya.
- Header dan tipe data memengaruhi hasilnya, terutama ketika nilai-nilai hilang.
- Array gabungan menggunakan pengidentifikasi posisi, yang harus ditinjau ulang jika strukturnya berubah.
- Sebaiknya kesalahan didiagnosis sebelum disembunyikan, agar tidak membingungkan rumus yang salah dengan kueri yang tidak memiliki kecocokan.
La Fungsi QUERY di 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.
Sintaks QUERY di Google Sheets dan contoh pertama

Struktur fungsi tersebut memiliki tiga argumen:
=QUERY(datos; consulta; encabezados)
- data: rentang atau matriks yang ingin Anda kueri.
- konsultasi: instruksi dalam tanda kutip atau referensi ke sel yang memuatnya.
- judul: Jumlah baris awal dalam rentang yang merupakan judul. Gunakan 1 jika ada baris judul dan 0 jika tidak ada. Jika Anda mengabaikannya atau memasukkan -1, Sheets akan mencoba menebak.
Pada contoh-contoh berikut, kita akan menggunakan tabel dengan struktur seperti ini:
| A: Tanggal | B: Klien | C: Negara | D: Jumlah | E: Saluran |
|---|---|---|---|---|
| 01/10/2026 | Ann | Dipenuhi | 100 | Web |
| 02/10/2026 | Luis | Subang | 80 | Toko |
| 03/10/2026 | Ann | Dipenuhi | 50 | Toko |
| 04/10/2026 | Kukus | Dipenuhi | 200 | Web |
| 05/10/2026 | Luis | Dibatalkan | 40 | Web |
Header berada di baris 1 dan kelima data menempati baris 2 hingga 6. Untuk menampilkan seluruh tabel, tulis rumus di area kosong, misalnya G1:
=QUERY(A1:E6;"select *";1)
Contoh-contoh tersebut menggunakan titik koma di antara argumenJika berkas Anda menggunakan koma, sesuaikan pemisah tersebut. Koma dalam teks kueri, seperti pada select B, DMereka harus dilestarikan.
Pilih kolom, filter, dan urutkan hasilnya.

Klausul tersebut memilih Ini memungkinkan Anda untuk memilih kolom. Untuk hanya menampilkan pelanggan dan jumlahnya:
=QUERY(A1:E6;"select B, D";1)
Dengan Di mana Anda dapat membatasi catatan hanya untuk pesanan yang telah selesai:
=QUERY(A1:E6;"select B, D where C = 'Completado'";1)
Contoh ini mengembalikan operasi Ana dan Marta. Menambahkan urutkan berdasarkan Anda dapat mengurutkannya berdasarkan jumlah menurun:
=QUERY(A1:E6;"select B, D where C = 'Completado' order by D desc";1)
Anda juga dapat menggabungkan kondisi:
=QUERY(A1:E6;"select B, D where C = 'Completado' and D >= 100 order by D desc";1)
Kueri terakhir ini mengembalikan Marta dengan nilai 200 dan Ana dengan nilai 100. Angka dibandingkan tanpa tanda kutip; nilai teks ditulis di antara tanda kutip tunggal dalam kueri.
Kelompokkan jumlah dengan GROUP BY dan ubah headernya.
Untuk mendapatkan jumlah total per pelanggan, gabungkan kelompokkan berdasarkan dengan jumlah():
=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)
Anda dapat menggunakan agregasi lain, seperti avg(), count(), min() y max()Saat Anda melakukan pengelompokan, kolom terpilih yang tidak diagregasi harus menjadi bagian dari group by.
Ingat itu count(D) menghitung nilai bukan null dari DIni tidak menjumlahkan jumlahnya. Pilih kolom yang sesuai jika Anda perlu menghitung transaksi.
Gunakan PIVOT, LIMIT, dan OFFSET
Klausul tersebut poros Mengubah nilai suatu field menjadi kolom. Misalnya, Anda dapat mendistribusikan penjualan yang telah diselesaikan setiap pelanggan antara Web dan Toko:
=QUERY(A1:E6;"select B, sum(D) where C = 'Completado' group by B pivot E";1)
Untuk mendapatkan hanya tiga jumlah tertinggi, gunakan membatasi setelah memesan:
=QUERY(A1:E6;"select B, D order by D desc limit 3";1)
Dengan mengimbangi Anda dapat menghilangkan baris dari hasil. Kueri ini melewati dua catatan pertama dalam pengurutan dan mengembalikan dua catatan berikutnya:
=QUERY(A1:E6;"select B, D order by D desc limit 2 offset 2";1)
Klausul-klausul tersebut harus menghormati urutannya: select, where, group by, pivot, order by, limit, offset, label y format.
Saring tanggal dan olah teks.
Jika kolom A berisi tanggal yang dikenali oleh Sheets, Anda dapat memilih transaksi bulan Oktober sebagai berikut:
=QUERY(A1:E6;"select * where A >= date '2026-10-01' and A < date '2026-11-01'";1)
Kolom tanggal dalam kueri menggunakan format tahun-bulan-hari, 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()Harap dicatat bahwa Fungsi month() dimulai dari 0 untuk bulan Januari dan berakhir pada 11 untuk bulan Desember.. 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 matchesPerbandingan bersifat peka huruf besar-kecil; Anda dapat menormalkan teks dengan lower() o upper().
Gabungkan data dari beberapa lembar menggunakan Kolom 1 dan Kolom 2.

Untuk menggabungkan data dari dua tab pada berkas yang sama, Anda dapat membuat array dengan tanda kurung kurawal. Mari kita asumsikan keduanya memiliki lima kolom dan satu baris header yang sama:
=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 mewakili kolom pertama dan Col2 mewakili kolom kedua.. 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.
Kesalahan QUERY umum dan cara menemukannya
- Nilai yang hilang: Kolom dengan tipe data campuran dapat kehilangan nilai dari tipe data minoritas, yang oleh QUERY diinterpretasikan sebagai null.
- Terjadi kesalahan saat mengurai kueri: Periksa tanda kutip lurus, pengidentifikasi, fungsi, dan urutan klausa.
- Tidak ada catatan baru yang muncul: Pastikan bahwa baris tersebut termasuk dalam rentang yang ditanyakan. Referensi hingga baris 100 tidak termasuk baris 101.
- Matriks tersebut tidak dapat diperluas: Biarkan sel tempat hasil seharusnya muncul tetap kosong dan periksa apakah ada sel yang tergabung.
- Satu baris data diinterpretasikan sebagai judul: Periksa argumen header.
Jangan membungkus rumus tersebut dengan IF.ERROR atau 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/AAnda dapat menggunakan SI.ND:
=SI.ND(QUERY(A1:E6;"select B, D where C = 'Devuelto'";1);"Sin coincidencias")
Jika file tersebut menyimpan nama fungsi dalam bahasa Inggris, gunakan 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 Hal ini tidak mengubah titik asal atau secara otomatis memperluas rentang tertutup..
Saya seorang penggila teknologi yang telah mengubah minat "geek"-nya menjadi sebuah profesi. Saya telah menghabiskan lebih dari 10 tahun hidup saya menggunakan teknologi mutakhir dan mengutak-atik semua jenis program hanya karena rasa ingin tahu. Sekarang saya memiliki spesialisasi dalam teknologi komputer dan video game. Hal ini karena selama lebih dari 5 tahun saya telah menulis untuk berbagai website tentang teknologi dan video game, membuat artikel yang berupaya memberikan informasi yang Anda butuhkan dalam bahasa yang dapat dimengerti oleh semua orang.
Jika Anda memiliki pertanyaan, pengetahuan saya berkisar dari segala sesuatu yang berhubungan dengan sistem operasi Windows serta Android untuk ponsel. Dan komitmen saya adalah kepada Anda, saya selalu bersedia meluangkan beberapa menit dan membantu Anda menyelesaikan pertanyaan apa pun yang mungkin Anda miliki di dunia internet ini.