Com s'utilitza la funció QUERY de Fulls de càlcul de Google: clàusules estàndard i una eina alternativa

  • Comparteix Això
Michael Brown

Si fa temps que seguiu aquest bloc, potser recordeu la funció QUERY per a Fulls de càlcul de Google. Ho vaig esmentar com a possible solució per a un parell de casos. Però aquests són lluny de ser suficients per descobrir tot el seu potencial. Avui ha arribat el moment de conèixer correctament aquest superheroi de fulls de càlcul. I endevineu què? També hi haurà una eina igualment destacable :)

Sabíeu que la funció QUERY de Google Sheets es considera la més potent dels fulls de càlcul? La seva peculiar sintaxi afavoreix desenes d'operacions diferents. Intentem desglossar-ne les parts per aprendre-les d'una vegada per totes, oi?

    Sintaxi de la funció QUERY de Google Sheets

    A primera vista, Google Sheets QUERY és només una altra funció amb 1 argument opcional i 2 obligatoris:

    =QUERY(dades, consulta, [capçaleres])
    • dades és l'interval a processar. Obligatori. Aquí tot és clar com el cristall.

      Nota. Només un petit recordatori establert per Google aquí: cada columna ha de contenir un tipus de dades: textuals, numèriques o booleanes. Si hi ha diferents tipus, QUERY funcionarà amb el que es produeixi més. Altres tipus es consideraran com a cel·les buides. Estrany, però tingues-ho en compte.

    • consulta és la manera de processar les dades . Obligatori. Aquí és on comença tota la diversió. La funció QUERY de Fulls de càlcul de Google utilitza un llenguatge especial per a aquest argument: API de visualització de Googlecriteris
    • seleccioneu un lloc per al resultat
    • inseriu el resultat com a fórmula de CONSULTA o com a valors

    No estic de broma, comproveu-ho vosaltres mateixos. Tot i que aquest GIF es va accelerar, vaig trigar menys d'un minut a ajustar tots els criteris i obtenir el resultat:

    Si teniu prou curiositat, aquí teniu un detall vídeo que mostra com funciona el complement:

    Espero que li doneu una oportunitat al complement i el obtingueu de Google Workspace Marketplace. No sigueu tímids i compartiu els vostres comentaris, sobretot si hi ha alguna cosa que no us agrada.

    A més, no dubteu a consultar la seva pàgina de tutorials o la seva pàgina d'inici.

    Llenguatge de consulta. Està escrit d'una manera similar a SQL. Bàsicament, és un conjunt de clàusules especials (ordres) que s'utilitzen per dir a la funció què ha de fer: seleccionar, agrupar per, limitar, etc.

    Nota. Tot l'argument s'ha de tancar entre cometes dobles. Els valors, al seu torn, s'han d'embolicar entre cometes.

  • capçaleres és opcional quan necessiteu indicar el nombre de files de capçalera a les vostres dades. Omet l'argument (com faig a continuació) i Google Sheets QUERY ho assumirà en funció del contingut de la teva taula.
  • Ara aprofundim en les clàusules i el que facin.

    Clàusules utilitzades a les fórmules de CONSULTA de Fulls de càlcul de Google

    El llenguatge de consulta consta de 10 clàusules. A primera vista poden espantar, sobretot si no esteu familiaritzat amb SQL. Però us prometo que, un cop els conegueu, tindreu a la vostra disposició una poderosa arma de full de càlcul.

    Cobriré cada clàusula i donaré exemples de fórmules utilitzant aquesta llista d'estudiants imaginaris i les seves assignatures de paper. :

    Sí, sóc un d'aquells estranys que pensen que Plutó hauria de ser un planeta :)

    Consell. Es poden utilitzar diverses clàusules dins d'una funció de CONSULTA de Fulls de càlcul de Google. Si els niu tots, assegureu-vos de seguir l'ordre de la seva aparició en aquest article.

    Selecciona (totes les columnes o específiques)

    La primera clàusula, selecciona , s'utilitza per indicar quines columnes has de tornar amb Google Sheets QUERYd'un altre full o taula.

    Exemple 1. Seleccioneu totes les columnes

    Per recuperar totes i cadascuna de les columnes, utilitzeu seleccioneu amb un asterisc – seleccioneu *

    =QUERY(Papers!A1:G11,"select *")

    Consell. Si ometeu el paràmetre select , Google Sheets QUERY retornarà totes les columnes de manera predeterminada:

    =QUERY(Papers!A1:G11)

    Exemple 2. Seleccioneu columnes específiques

    Per extreure només algunes columnes , enumereu-los després de la clàusula select :

    =QUERY(Papers!A1:G11, "select A,B,C")

    Consell. Les columnes d'interès es copiaran en el mateix ordre en què les esmenteu a la fórmula:

    =QUERY(Papers!A1:G11, "select C,B,A")

    Fulls de càlcul de Google QUERY – Where clàusula

    Google Sheets QUERY on s'utilitza per establir les condicions per a les dades que voleu obtenir. En altres paraules, actua com un filtre.

    Si utilitzeu aquesta clàusula, la funció QUERY per a Fulls de càlcul de Google cercarà a les columnes els valors que compleixin les vostres condicions i us tornarà a recuperar totes les coincidències.

    Consell. On pot funcionar sense la clàusula select .

    Com és habitual, per especificar condicions, hi ha conjunts d' operadors especials per a vosaltres:

    • operadors de comparació simples ( per a valors numèrics ): =, , >, >=, <, <=
    • operadors de comparació complexos ( per a cadenes ): conté, comença amb i acaba amb, coincideix, != (no coincideix / no és igual a), com .
    • operadors lògics per combinar diverses condicions : i, o, no .
    • operadors per a en blanc/ no està buit : és nul, no és nul .

    Consell. Si estàs molest o preocupat per haver de tornar a tractar amb un nombre tan gran d'operadors, et sentim. Les nostres coincidències múltiples Vlookup trobaran totes les coincidències i crearan fórmules de CONSULTA a Fulls de càlcul de Google si cal.

    Anem a veure com es comporten aquests operadors a les fórmules.

    Exemple 1. On amb números

    Afegeré on als meus Fulls de càlcul de Google CONSULTA des de dalt per obtenir la informació d'aquells planetes que tenen més de 10 llunes:

    =QUERY(Papers!A1:G11,"select A,B,C,F where F>=10")

    Consell. També he esmentat la columna F per buscar només per assegurar-me que es compleix el criteri. Però és completament opcional. No cal que inclogueu columnes amb condicions al resultat:

    =QUERY(Papers!A1:G11,"select A,B,C where F>=10")

    Exemple 2. On amb cadenes de text

    • Vull veure totes les files on la nota és F o F+ . Faré servir l'operador conté per a això:

      =QUERY(Papers!A1:G11,"select A,B,C,G where G contains 'F'")

      Nota. No oblideu envoltar el text amb cometes.

    • Per obtenir totes les files només amb F , només cal substituir conté amb un signe igual (=):

      =QUERY(Papers!A1:G11,"select A,B,C,G where G="F"")

    • Per comprovar els treballs que encara s'han de lliurar (on falta la qualificació), comproveu la columna G si hi ha espais en blanc:

      =QUERY(Papers!A1:G11,"select A,B,C,G where G is null'")

    Exemple 3. On amb dates

    Endevineu què: Google Sheets QUERY fins i tot ha aconseguit dominar les dates!

    Com que els fulls de càlcul emmagatzemen les dates com a números de sèrie, normalment, cal querecorreu a l'ajuda de funcions especials com DATA o DATEVALUE, YEAR, MONTH, TIME, etc.

    Però QUERY ha trobat el seu camí en les dates. Per introduir-los correctament, només cal que escriviu la paraula data i després afegiu la data amb el format aaaa-mm-dd: data '2020-01-01'

    Aquesta és la meva fórmula per obtenir totes les files amb una data de parla abans de l'1 de gener de 2020:

    =QUERY(Papers!A1:G11,"select A,B,C where B

    Exemple 4. Combina diverses condicions

    Per utilitzar un determinat període de temps com a criteri, haureu de combinar dues condicions.

    Intentem recuperar aquells documents que es van lliurar a la tardor de 2019. El primer criteri hauria de ser una data en o després de l'1 de setembre de 2019 , el segon — el 30 de novembre de 2019 o abans :

    =QUERY(Papers!A1:G11,"select A,B,C where B>=date '2019-09-01' and B<=date '2019-11-30'")

    O bé, jo poden seleccionar treballs en funció d'aquests paràmetres:

    • abans del 31 de desembre de 2019 ( B )
    • tinguin A o A+ com a qualificació ( G conté 'A' )
    • o B/B+ ( G conté 'B' )

    =QUERY(Papers!A1:G11,"select A,B,C,G where B

    Consell. Si el teu cap ja està a punt d'explotar, no et rendeixis encara. Hi ha una eina perfectament capaç de crear totes aquestes fórmules per a tu, sense importar el nombre de criteris. Ves directament al final de l'article per conèixer-lo.

    Fulls de càlcul de Google QUERY: agrupa per

    L'ordre QUERY de fulls de càlcul de Google agrupa per s'utilitza per concatenar files. Tanmateix, hauríeu d'utilitzar algunes funcions agregades per tal de resumir-les.

    Nota. Agrupar per sempre ha de seguir la clàusula select .

    Malauradament, no hi ha res per agrupar a la meva taula, ja que no hi ha valors recurrents. Per tant, deixeu-me ajustar-ho una mica.

    Suposem que tots els treballs els han de preparar només 3 estudiants. Puc trobar la nota més alta que va obtenir cada alumne. Però com que són lletres, és la funció MIN que hauria d'aplicar a la columna G:

    =QUERY(Papers!A1:G11,"select A,min(G) group by A")

    Nota. Si no utilitzeu una funció d'agregació amb cap columna a la clàusula select (columna A al meu exemple), haureu de duplicar-les totes al grup per clàusula.

    Google Sheets QUERY – Pivot

    La clàusula QUERY pivot de Google Sheets funciona al revés, si puc dir-ho. Transposa les dades d'una columna a una fila amb columnes noves, agrupant altres valors en conseqüència.

    Per a aquells que tracteu amb dates, pot ser un autèntic descobriment. Podreu fer una ullada ràpida a tots els anys diferents d'aquesta columna d'origen.

    Nota. Quan es tracta de pivot , totes les columnes utilitzades a la clàusula select s'han de cobrir amb una funció d'agregació. En cas contrari, s'hauria d'esmentar a l'ordre grup per seguint el seu pivot .

    Recordeu que la meva taula ara només esmenta 3 estudiants. Faré que la funció em digui quants informes ha fet cada alumne:

    =QUERY(Papers!A1:G11,"select count(G) pivot A")

    Google Sheets QUERY – Ordena per

    Aquest és bastant fàcil :) Està acostumatordena el resultat pels valors de determinades columnes.

    Consell. Totes les clàusules anteriors són opcionals quan s'utilitza ordena per . Utilitzo select per tornar menys columnes amb finalitats de demostració.

    Tornem a la meva taula original i ordenem els informes per data de la parla.

    Aquesta fórmula següent de CONSULTA de Fulls de càlcul de Google m'obtindrà les columnes A, B i C, però al mateix temps les ordenarà per data a columna B:

    =QUERY(Papers!A1:G11,"select A,B,C order by B")

    Límit

    Què passaria si us ho digués, no cal que introduïu totes i cadascuna de les files a el resultat? Què passaria si us digués que Google Sheets QUERY només pot obtenir una certa quantitat de les primeres coincidències que troba?

    Bé, la clàusula límit està dissenyada per ajudar-vos amb això. Limita el nombre de files a retornar pel nombre donat.

    Consell. No dubteu a utilitzar límit sense altres clàusules prèvies.

    Aquesta fórmula mostrarà les 5 primeres files on la columna amb qualificacions contingui una marca (no està buida):

    =QUERY(Papers!A1:G11,"select A,B,C,G where G is not null limit 5")

    Desplaçament

    Aquesta clàusula és una mica oposada a l'anterior. Mentre que limit obté el nombre de files que especifiqueu, offset les salta i recupera la resta.

    Consell. Offset tampoc requereix cap altra clàusula.

    =QUERY(Papers!A1:G11,"select A,B,C,G where G is not null offset 5")

    Si proveu d'utilitzar tant limit com offset , passarà el següent:

    1. Offset saltarà les files al principi.
    2. Limit retornarà un nombre defiles següents.

    =QUERY(Papers!A1:G11,"select A,B,C,G where G is not null limit 3 offset 3")

    D'11 files de dades (la primera és una capçalera i la funció QUERY a Fulls de càlcul de Google fa una bona feina entenent-ho), l'offset omet la primera. 3 files. El límit retorna 3 files següents (a partir de la quarta):

    Google Sheets QUERY – Label

    Google Sheets QUERY etiqueta ordre us permet canviar els noms de les capçaleres de les columnes.

    Consell. Altres clàusules també són opcionals per a label .

    Col·loqueu primer l' etiqueta , seguida de l'ID de la columna i un nom nou. Si canvieu el nom d'unes quantes columnes, separeu cada nou parell d'etiquetes de columna amb una coma:

    =QUERY(Papers!A1:G11,"select A,B,C label A 'Name', B 'Date'")

    Format

    El <1 La clàusula>format permet alterar el format de tots els valors d'una columna. Per a això, necessitareu un patró situat darrere del format desitjat.

    Consell. La clàusula de format també es pot reproduir en solitari a la consulta de fulls de càlcul de Google.

    =QUERY(Papers!A1:G11,"select A,B,C limit 3 format B 'mm-dd, yyyy, ddd'")

    Consell. He esmentat alguns formats de data per a Google Sheets QUERY en aquesta publicació del bloc. Altres formats es poden prendre directament dels fulls de càlcul: Format > Número > Més formats > Format de número personalitzat .

    Opcions

    Aquest s'utilitza per establir alguns paràmetres addicionals per a les dades del resultat.

    Per exemple, com ara no_values només es retornarà cel·les amb format.

    La manera més ràpida de crear fórmules de CONSULTA: Múltiples coincidències de Vlookup

    Per molt potent que sigui la funció QUERY a Fulls de càlcul de Google,pot requerir una corba d'aprenentatge per aconseguir-ho. Una cosa és il·lustrar cada clàusula per separat en una taula petita i una altra és intentar construir-ho tot correctament amb unes quantes clàusules i una taula molt més gran.

    És per això que vam decidir vestir Google Sheets QUERY d'una manera interfície fàcil d'utilitzar i convertir-lo en el complement.

    Per què les coincidències múltiples VLOOKUP són millors que les fórmules?

    Bé, amb el complement no hi ha absolutament cap necessitat de :

    • esbrineu qualsevol cosa sobre aquestes clàusules . És molt fàcil crear moltes condicions complexes al complement: tantes com en necessiteu malgrat l'ordre d'aconseguir tantes coincidències com necessiteu.

      Nota. De moment, s'han incorporat a l'eina les clàusules següents: seleccionar, on, limitar, i desplaçar . Si la vostra tasca també requereix altres clàusules, si us plau comenteu a continuació; potser ens ajudareu a millorar ;)

    • sabeu introduir operadors : només heu de triar-ne una d'una llista desplegable.
    • trenca la forma correcta d'introduir la data i l'hora . El complement us permet introduir-los com abans en funció de la configuració regional del vostre full de càlcul.

      Consell. Sempre hi ha una pista disponible a l'eina amb exemples de diferents tipus de dades.

    Com a bonificació , podreu:

    • previsualitzar tant els resultat i la fórmula
    • feu ajustaments ràpids al vostre

    Michael Brown és un entusiasta de la tecnologia dedicat amb una passió per simplificar processos complexos mitjançant eines de programari. Amb més d'una dècada d'experiència en la indústria tecnològica, ha perfeccionat les seves habilitats en Microsoft Excel i Outlook, així com en Google Sheets i Docs. El bloc de Michael es dedica a compartir els seus coneixements i experiència amb altres persones, oferint consells i tutorials fàcils de seguir per millorar la productivitat i l'eficiència. Tant si sou un professional experimentat com si sou un principiant, el bloc de Michael ofereix valuoses idees i consells pràctics per treure el màxim profit d'aquestes eines de programari essencials.