Táboa de contidos
Se levas un tempo seguindo este blog, quizais recordes a función QUERY para Follas de cálculo de Google. Mencionei como unha posible solución para un par de casos. Pero estes están lonxe de ser suficientes para descubrir todo o seu potencial. Hoxe é hora de que coñezamos correctamente a este superheroe das follas de cálculo. E adiviña o que: unha ferramenta igualmente digna de mención tamén estará alí :)
Sabías que a función QUERY de Follas de cálculo de Google considérase a máis poderosa das follas de cálculo? A súa peculiar sintaxe favorece decenas de operacións diferentes. Tentemos desglosar as súas partes para aprendelas dunha vez por todas, non?
Sintaxe da función QUERY de Google Sheets
A primeira vista, Google Sheets QUERY é só outra función con 1 argumento opcional e 2 obrigatorios:
=QUERY(datos, consulta, [encabezados])- datos é o intervalo a procesar. Obrigatorio. Aquí todo está claro como o cristal.
Nota. Só un pequeno recordatorio establecido por Google: cada columna debe conter un tipo de datos: textuais, numéricos ou booleanos. Se hai diferentes tipos, QUERY funcionará co que máis se produza. Outros tipos consideraranse celas baleiras. Estraño, pero ten en conta.
- consulta é a forma de procesar os datos . Obrigatorio. Aquí é onde comeza toda a diversión. A función QUERY de Follas de cálculo de Google usa unha linguaxe especial para este argumento: API de visualización de Googlecriterios
- seleccione un lugar para o resultado
- inserir o resultado como fórmula de CONSULTA ou como valores
Non estou de broma, comproba por ti mesmo. Aínda que se acelerou este GIF, tardei menos dun minuto en afinar todos os criterios e obter o resultado:
Se tes curiosidade, aquí tes un detallado vídeo que amosa como funciona o complemento:
Espero que lle deas unha oportunidade ao complemento e obtelo de Google Workspace Marketplace. Non sexas tímido e comparte os teus comentarios, especialmente se hai algo que non che guste.
Ademais, non dubides en consultar a súa páxina de titoriais ou a páxina de inicio.
Linguaxe de consulta. Está escrito dun xeito similar ao SQL. Basicamente, é un conxunto de cláusulas especiais (comandos) que se usan para indicarlle á función o que debe facer: seleccionar, agrupar por, limitar, etc.Nota. O argumento completo debe ir entre comiñas dobres. Os valores, á súa vez, deben ir envoltos entre comiñas.
Agora imos afondar nas cláusulas e o que fagan.
Cláusulas utilizadas nas fórmulas QUERY de Follas de cálculo de Google
A linguaxe de consulta consta de 10 cláusulas. Poden asustar a primeira vista, especialmente se non estás familiarizado co SQL. Pero prometo que, unha vez que os coñezas, terás á túa disposición unha poderosa arma de folla de cálculo.
Vou cubrir cada cláusula e proporcionarei exemplos de fórmulas usando esta lista de estudantes imaxinarios e as súas materias en papel. :
Si, son un deses raros que pensan que Plutón debería ser un planeta :)
Consello. Pódense usar varias cláusulas dentro dunha función QUERY de Follas de cálculo de Google. Se os aniñan todos, asegúrate de seguir a orde da súa aparición neste artigo.
Seleccionar (todas as columnas ou específicas)
A primeira cláusula, seleccionar , úsase para indicar que columnas debes devolver con Google Sheets QUERYdoutra folla ou táboa.
Exemplo 1. Seleccione todas as columnas
Para obter todas e cada unha das columnas, use seleccionar cun asterisco – seleccionar *
=QUERY(Papers!A1:G11,"select *")
Consello. Se omites o parámetro select , Google Sheets QUERY devolverá todas as columnas por defecto:
=QUERY(Papers!A1:G11)
Exemplo 2. Selecciona columnas específicas
Para extraer só determinadas columnas , enumereos despois da cláusula select :
=QUERY(Papers!A1:G11, "select A,B,C")
Consello. As columnas de interese copiaranse na mesma orde na que as mencionas na fórmula:
=QUERY(Papers!A1:G11, "select C,B,A")
Consulta de Follas de cálculo de Google – Cláusula Where
Google Sheets QUERY onde úsase para establecer as condicións para os datos que queres obter. Noutras palabras, actúa como un filtro.
Se utilizas esta cláusula, a función QUERY para Follas de cálculo de Google buscará nas columnas os valores que cumpran as túas condicións e devolveráche todas as coincidencias.
Consello. Onde pode funcionar sen a cláusula select .
Como é habitual, para especificar condicións, hai conxuntos de operadores especiais para ti:
- operadores de comparación sinxelos ( para valores numéricos ): =, , >, >=, <, <=
- operadores de comparación complexos ( para cadeas ): contén, comeza por e remata con, coincide, != (non coincide / non é igual a), como .
- operadores lóxicos para combinar varias condicións : e, ou, non .
- operadores para en branco/ non está baleiro : é nulo, non é nulo .
Consello. Se estás molesto ou preocupado por ter que tratar de novo cun número tan grande de operadores, sentímolo. As nosas coincidencias de Vlookup múltiples atoparán todas as coincidencias e crearán fórmulas QUERY en Follas de cálculo de Google para ti se é necesario.
Vexamos como se comportan estes operadores nas fórmulas.
Exemplo 1. Onde con números
Engadirei onde ás miñas follas de cálculo de Google CONSULTA desde arriba para obter información sobre aqueles planetas que teñen máis de 10 lúas:
=QUERY(Papers!A1:G11,"select A,B,C,F where F>=10")
Consello. Tamén mencionei a columna F para buscar só para asegurarme de que se cumpre o criterio. Pero é completamente opcional. Non tes que incluír columnas con condicións no resultado:
=QUERY(Papers!A1:G11,"select A,B,C where F>=10")
Exemplo 2. Onde con cadeas de texto
- Quero ver todas as filas onde a nota é F ou F+ . Usarei o operador contén para iso:
=QUERY(Papers!A1:G11,"select A,B,C,G where G contains 'F'")
Nota. Non esquezas rodear o teu texto entre comiñas.
- Para obter todas as filas só con F , só tes que substituír contén por un signo igual (=):
=QUERY(Papers!A1:G11,"select A,B,C,G where G="F"")
- Para comprobar os traballos que aínda están por entregar (onde falta a cualificación), verifique os espazos en branco na columna G :
=QUERY(Papers!A1:G11,"select A,B,C,G where G is null'")
Exemplo 3. Onde con datas
Adiviña o que: Google Sheets QUERY incluso conseguiu dominar as datas!
Xa que as follas de cálculo almacenan as datas como números de serie, normalmente, tes querecorre á axuda de funcións especiais como DATA ou DATEVALUE, YEAR, MONTH, TIME, etc.
Pero QUERY atopou o seu camiño cara ás datas. Para introducilos correctamente, simplemente escriba a palabra data e, a continuación, engada a propia data con formato aaaa-mm-dd: data '2020-01-01'
Aquí está a miña fórmula para obter todas as filas cunha data de fala anterior ao 1 de xaneiro de 2020:
=QUERY(Papers!A1:G11,"select A,B,C where B
Exemplo 4. Combina varias condicións
Para utilizar un determinado período de tempo como criterio, terás que combinar dúas condicións.
Intentemos recuperar aqueles traballos que se entregaron no outono de 2019. O primeiro criterio debería ser unha data en ou despois do 1 de setembro de 2019 , o segundo — o 30 de novembro de 2019 ou antes :
=QUERY(Papers!A1:G11,"select A,B,C where B>=date '2019-09-01' and B<=date '2019-11-30'")
Ou, eu pode seleccionar traballos en función destes parámetros:
- antes do 31 de decembro de 2019 ( B
) - ter A ou A+ como nota ( G contén 'A' )
- ou B/B+ ( G contén 'B' )
=QUERY(Papers!A1:G11,"select A,B,C,G where B
Consello. Se a túa cabeza xa está a piques de explotar, non te rindas aínda. Hai unha ferramenta que é perfectamente capaz de crear todas estas fórmulas para ti, sen importar o número de criterios. Ir directamente ao final do artigo para coñecelo.
Google Sheets QUERY – Agrupar por
O comando QUERY de Google Sheets agrupar por úsase para concatenar filas. Non obstante, deberías usar algunhas funcións agregadas para resumilos.
Nota. Agrupar por sempre debe seguir a cláusula select .
Desafortunadamente, non hai nada que agrupar na miña táboa xa que non hai valores recorrentes. Entón, permíteme axustalo un pouco.
Supoñamos que todos os traballos deben ser preparados só por 3 estudantes. Podo atopar a nota máis alta que obtivo cada alumno. Pero como son letras, é a función MIN que debería aplicar á columna G:
=QUERY(Papers!A1:G11,"select A,min(G) group by A")
Nota. Se non usa unha función agregada con ningunha columna na cláusula select (columna A no meu exemplo), debe duplicalas todas no grupo por cláusula.
Google Sheets QUERY – Pivot
Google Sheets QUERY pivot cláusula funciona ao revés, se me permite dicir. Transpón os datos dunha columna a unha fila con columnas novas, agrupando outros valores en consecuencia.
Para aqueles de vostedes que se ocupan de datas, pode ser un verdadeiro descubrimento. Poderás obter unha ollada rápida a todos os anos distintos desa columna de orixe.
Nota. Cando se trata de pivot , cada columna utilizada na cláusula select debería estar cuberta cunha función agregada. En caso contrario, debería mencionarse no grupo mediante o comando seguindo o seu pivot .
Lembra que a miña táboa agora menciona só 3 estudantes. Vou facer que a función me indique cantos informes fixo cada alumno:
=QUERY(Papers!A1:G11,"select count(G) pivot A")
CONSULTA de Follas de cálculo de Google – Ordenar por
Este é bastante sinxelo :) Está acostumadoordena o resultado polos valores de determinadas columnas.
Consello. Todas as cláusulas anteriores son opcionais cando se usa ordenar por . Uso select para devolver menos columnas con fins de demostración.
Volvamos á miña táboa orixinal e clasifiquemos os informes por data de fala.
Esta seguinte fórmula de CONSULTA de Follas de cálculo de Google conseguirame as columnas A, B e C, pero ao mesmo tempo ordenaraas por data en columna B:
=QUERY(Papers!A1:G11,"select A,B,C order by B")
Límite
E se che dixese, non tes que incorporar todas e todas as filas a o resultado? E se che dixese que Google Sheets QUERY só pode extraer unha determinada cantidade das primeiras coincidencias que atopa?
Ben, a cláusula límite está deseñada para axudarche con iso. Limita o número de filas a devolver polo número indicado.
Consello. Non dubides en usar límite sen outras cláusulas previas.
Esta fórmula mostrará as 5 primeiras filas onde a columna coas cualificacións contén unha marca (non está baleira):
=QUERY(Papers!A1:G11,"select A,B,C,G where G is not null limit 5")
Desfase
Esta cláusula é algo oposta á anterior. Mentres limit obtén o número de filas que especificas, offset saltaas, recuperando o resto.
Consello. O offset tampouco require ningunha outra cláusula.
=QUERY(Papers!A1:G11,"select A,B,C,G where G is not null offset 5")
Se intentas utilizar tanto límite como offset , ocorrerá o seguinte:
- Offset saltará filas ao principio.
- Limit devolverá un número dosfilas seguintes.
=QUERY(Papers!A1:G11,"select A,B,C,G where G is not null limit 3 offset 3")
De 11 filas de datos (a primeira é unha cabeceira e a función QUERY en Follas de cálculo de Google fai un bo traballo entendendo iso), o offset omite a primeira 3 filas. O límite devolve 3 filas seguintes (a partir da 4ª):
Google Sheets QUERY – Label
Google Sheets QUERY label comando permítelle cambiar os nomes das cabeceiras das columnas.
Consello. Outras cláusulas tamén son opcionais para label .
Poña primeiro a etiqueta , seguida do ID da columna e dun nome novo. Se cambias o nome de poucas columnas, separa cada novo par de etiquetas de columna mediante unha coma:
=QUERY(Papers!A1:G11,"select A,B,C label A 'Name', B 'Date'")
Formato
O <1 A cláusula>format permite modificar o formato de todos os valores dunha columna. Para iso, necesitará un patrón situado detrás do formato desexado.
Consello. A cláusula de formato tamén se pode reproducir en solitario na consulta de follas de cálculo de Google.
=QUERY(Papers!A1:G11,"select A,B,C limit 3 format B 'mm-dd, yyyy, ddd'")
Consello. Mencionei algúns formatos de data para Google Sheets QUERY nesta publicación do blog. Outros formatos pódense tomar directamente das follas de cálculo: Formato > Número > Máis formatos > Formato de número personalizado .
Opcións
Esta úsase para establecer algunhas opcións adicionais para os datos de resultado.
Por exemplo, un comando como sen_valores só devolverá celas con formato.
A forma máis rápida de crear fórmulas de CONSULTA: Múltiples coincidencias de Vlookup
Por poderosa que sexa a función QUERY en Follas de cálculo de Google,pode requirir unha curva de aprendizaxe para conseguir. Unha cousa é ilustrar cada cláusula por separado nunha táboa pequena, e outra completamente diferente é tentar construír todo correctamente cunhas poucas cláusulas e unha táboa moito máis grande.
Por iso decidimos vestir a QUERY de Follas de cálculo de Google nun interface fácil de usar e convérteo no complemento.
Por que as coincidencias Múltiples VLOOKUP son mellores que as fórmulas?
Ben, co complemento non hai absolutamente ningunha necesidade :
- descubrir calquera cousa sobre esas cláusulas . É moi sinxelo crear moitas condicións complexas no complemento: tantas como necesites a pesar da súa orde para buscar tantas coincidencias como necesites.
Nota. Nestes momentos, incorporáronse á ferramenta as seguintes cláusulas: seleccionar, onde, límite, e compensar . Se a túa tarefa tamén require outras cláusulas, comenta a continuación; quizais nos axudes a mellorar ;)
- saber introducir operadores : só tes que escoller unha dunha lista despregable.
- crebacabezas sobre a forma correcta de introducir data e hora . O complemento permíteche introducilos como adoitaba facer en función da configuración rexional da túa folla de cálculo.
Consello. Sempre hai unha suxestión dispoñible na ferramenta con exemplos de diferentes tipos de datos.
Como bonificación , poderás:
- previsualizar tanto os resultado e a fórmula
- faga axustes rápidos ao seu