- Funkce QUERY umožňuje filtrovat, řadit a sumarizovat data bez úpravy původního rozsahu.
- Záhlaví a datové typy ovlivňují výsledek, zejména pokud chybí hodnoty.
- Kombinovaná pole používají poziční identifikátory, které je nutné zkontrolovat, pokud se struktura změní.
- Je vhodné diagnostikovat chyby před jejich skrytím, aby nedošlo k záměně nesprávného vzorce s dotazem, který nemá žádné shody.
La Funkce QUERY v Tabulkách Google 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.
Syntaxe QUERY v Tabulkách Google a první příklad

Struktura funkce má tři argumenty:
=QUERY(datos; consulta; encabezados)
- data: rozsah nebo matici, na kterou chcete provést dotaz.
- konzultace: pokyny v uvozovkách nebo odkaz na buňku, která je obsahuje.
- nadpisy: Počet počátečních řádků v rozsahu, které jsou nadpisy. Pokud existuje řádek s nadpisem, použijte hodnotu 1, pokud ne, a hodnotu 0, pokud ne. Pokud jej vynecháte nebo zadáte -1, Tabulky se pokusí o odhad.
V následujících příkladech použijeme tabulku s touto strukturou:
| A: Datum | B: Klient | C: Stát | D: Částka | E: Kanál |
|---|---|---|---|---|
| 01/10/2026 | Anna | Vyplněno | 100 | Web |
| 02/10/2026 | Luís | Náušnice | 80 | Obchod |
| 03/10/2026 | Anna | Vyplněno | 50 | Obchod |
| 04/10/2026 | Kuna | Vyplněno | 200 | Web |
| 05/10/2026 | Luís | Zrušeno | 40 | Web |
Záhlaví jsou v řádku 1 a pět záznamů zabírá řádky 2 až 6. Chcete-li vrátit celou tabulku, napište vzorec do prázdného místa, například G1:
=QUERY(A1:E6;"select *";1)
Příklady používají středník mezi argumentyPokud váš soubor používá čárky, upravte tyto oddělovače. Čárky v textu dotazu, jako v select B, DMusí být zachovány.
Výběr sloupců, filtrování a řazení výsledků

Klauzule vybrat To vám umožní vybrat sloupce. Chcete-li zobrazit pouze zákazníka a částku:
=QUERY(A1:E6;"select B, D";1)
S kde Záznamy můžete omezit na dokončené objednávky:
=QUERY(A1:E6;"select B, D where C = 'Completado'";1)
Příklad vrací obě operace, Aniny i Martininy. Přidání seřadit podle Můžete je seřadit sestupně podle množství:
=QUERY(A1:E6;"select B, D where C = 'Completado' order by D desc";1)
Můžete také kombinovat podmínky:
=QUERY(A1:E6;"select B, D where C = 'Completado' and D >= 100 order by D desc";1)
Tento poslední dotaz vrátí Martě hodnotu 200 a Aně hodnotu 100. Čísla se porovnávají bez uvozovek, textové hodnoty se v dotazu zapisují mezi jednoduché uvozovky.
Seskupení částek pomocí funkce GROUP BY a změna záhlaví
Chcete-li získat celkovou částku na zákazníka, spojte seskupit podle s součet():
=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)
Můžete použít i jiné agregace, například avg(), count(), min() y max()Při seskupování musí být vybrané sloupce, které nejsou agregovány, součástí group by.
Pamatujte si, že count(D) počítá nenulové hodnoty DNesoučetuje částky. Pokud potřebujete spočítat transakce, vyberte vhodný sloupec.
Použijte PIVOT, LIMIT a OFFSET
Klauzule pivot Transformuje hodnoty pole do sloupců. Můžete například rozdělit dokončené prodeje každého zákazníka mezi web a obchod:
=QUERY(A1:E6;"select B, sum(D) where C = 'Completado' group by B pivot E";1)
Chcete-li získat pouze tři nejvyšší částky, použijte omezit po objednání:
=QUERY(A1:E6;"select B, D order by D desc limit 3";1)
S ofset Z výsledku můžete vynechat řádky. Tento dotaz přeskakuje první dva záznamy v řazení a vrátí další dva:
=QUERY(A1:E6;"select B, D order by D desc limit 2 offset 2";1)
Klauzule musí respektovat své pořadí: select, where, group by, pivot, order by, limit, offset, label y format.
Filtrování dat a práce s textem
Pokud sloupec A obsahuje data rozpoznávaná Tabulkami, můžete vybrat říjnové transakce takto:
=QUERY(A1:E6;"select * where A >= date '2026-10-01' and A < date '2026-11-01'";1)
Pole data v dotazu používá formát rok-měsíc-den, 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()Vezměte prosím na vědomí, že Funkce month() začíná v lednu na 0 a končí v prosinci na 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 matchesPorovnání rozlišují velká a malá písmena; text můžete normalizovat pomocí lower() o upper().
Sloučení dat z více listů pomocí sloupce Col1 a Col2

Chcete-li uspořádat záznamy ze dvou záložek stejného souboru, můžete vytvořit pole se složenými závorkami. Předpokládejme, že obě mají stejných pět sloupců a jeden řádek záhlaví:
=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, Sloupec 1 představuje první sloupec a sloupec 2 druhý.. 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.
Časté chyby v QUERY a jak je najít
- Chybějící hodnoty: Sloupec se smíšenými typy může ztratit hodnoty menšinového typu, což QUERY interpretuje jako null.
- Chyba při analýze dotazu: Zkontrolujte přímé uvozovky, identifikátory, funkce a pořadí klauzulí.
- Nezobrazují se žádné nové záznamy: Ověřte, zda jsou zahrnuty v dotazovaném rozsahu. Odkaz až do řádku 100 nezahrnuje řádek 101.
- Matici nelze rozšířit: Buňky, kde by se měl výsledek zobrazit, nechte volné a zkontrolujte, zda se v nich nenacházejí sloučené buňky.
- Řádek dat je interpretován jako nadpis: zkontrolujte argument záhlaví.
Nezabalujte vzorec do POKUD.CHYBA nebo POKUD.CHYBA 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, můžete použít SI.ND:
=SI.ND(QUERY(A1:E6;"select B, D where C = 'Devuelto'";1);"Sin coincidencias")
Pokud soubor uchovává názvy funkcí v angličtině, použijte 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 Neupravuje počátek ani automaticky nerozšiřuje uzavřený rozsah..
Jsem technologický nadšenec, který ze svých „geekovských“ zájmů udělal profesi. Strávil jsem více než 10 let svého života používáním nejmodernějších technologií a vrtáním se všemi druhy programů z čisté zvědavosti. Nyní se specializuji na počítačovou techniku a videohry. Je to proto, že již více než 5 let píšu pro různé webové stránky o technologiích a videohrách a tvořím články, které se vám snaží poskytnout informace, které potřebujete, v jazyce, který je srozumitelný všem.
Pokud máte nějaké dotazy, mé znalosti sahají od všeho, co se týká operačního systému Windows a také Androidu pro mobilní telefony. A můj závazek je vůči vám, jsem vždy ochoten strávit pár minut a pomoci vám vyřešit jakékoli otázky, které můžete mít v tomto internetovém světě.