Hoe om Google Sheets QUERY-funksie te gebruik – standaardklousules en 'n alternatiewe hulpmiddel

  • Deel Dit
Michael Brown

As jy hierdie blog al 'n rukkie volg, onthou jy dalk QUERY-funksie vir Google Sheets. Ek het dit genoem as 'n moontlike oplossing vir 'n paar gevalle. Maar dit is ver van genoeg om sy volle potensiaal te ontbloot. Vandag is dit hoog tyd dat ons hierdie sigblaaie-superheld behoorlik leer ken. En raai wat – een ewe noemenswaardige hulpmiddel sal ook daar wees :)

Het jy geweet dat Google Sheets QUERY-funksie as die kragtigste een in sigblaaie beskou word? Sy eienaardige sintaksis bevoordeel tientalle verskillende bewerkings. Kom ons probeer die dele daarvan afbreek om dit eens en vir altyd te leer, sal ons?

    Sintaksis van Google Blaaie QUERY-funksie

    Met die eerste oogopslag is Google Sheets QUERY net nog 'n funksie met 1 opsionele en 2 vereiste argumente:

    =QUERY(data, navraag, [headers])
    • data is die reeks om te verwerk. Vereis. Alles is glashelder hier.

      Let wel. Slegs een klein herinnering hier deur Google vasgestel: elke kolom moet een tipe data bevat: tekstueel, of numeries, of Booles. As daar verskillende tipes is, sal QUERY werk met die een wat die meeste voorkom. Ander tipes sal as leë selle beskou word. Vreemd, maar hou dit in gedagte.

    • navraag is die manier om die data te verwerk. Vereis. Dit is waar al die pret begin. Google Blaaie QUERY-funksie gebruik 'n spesiale taal vir hierdie argument: Google Visualization APIkriteria
    • kies 'n plek vir die resultaat
    • voeg die resultaat in as beide QUERY formule of as waardes

    Ek maak nie 'n grap nie, kyk self. Alhoewel hierdie GIF versnel is, het dit my minder as 'n minuut geneem om alle kriteria te verfyn en die resultaat te kry:

    As jy nuuskierig genoeg is, hier is 'n gedetailleerde video wat wys hoe die byvoeging werk:

    Ek hoop jy sal die byvoeging 'n kans gee en dit van Google Workspace Marketplace kry. Moenie skaam wees nie en deel jou terugvoer, veral as daar iets daaraan is waarvan jy nie hou nie.

    Kyk ook gerus na sy tutoriaalbladsy of tuisblad.

    Navraagtaal. Dit is geskryf op 'n manier soortgelyk aan SQL. Basies is dit 'n stel spesiale klousules (opdragte) wat gebruik word om die funksie te vertel wat om te doen: kies, groepeer volgens, beperk, ens.

    Let wel. Die hele argument moet in dubbele aanhalingstekens ingesluit word. Waardes moet op hul beurt in aanhalingstekens toegedraai word.

  • opskrifte is opsioneel vir wanneer jy die aantal koprye in jou data moet aandui. Laat die argument weg (soos ek hieronder doen), en Google Sheets QUERY sal dit aanneem op grond van die inhoud van jou tabel.
  • Kom ons delf nou dieper in die klousules en wat hulle ook al doen.

    Kousules wat in Google Blaaie QUERY formules gebruik word

    Navraagtaal bestaan ​​uit 10 klousules. Hulle kan met die eerste oogopslag skrik, veral as jy nie met SQL vertroud is nie. Maar ek belowe, sodra jy hulle leer ken het, sal jy 'n kragtige sigbladwapen tot jou beskikking kry.

    Ek gaan elke klousule dek en formulevoorbeelde verskaf deur hierdie lys denkbeeldige studente en hul vraestelvakke te gebruik. :

    Jip, ek is een van daardie vreemdelinge wat dink Pluto moet 'n planeet wees :)

    Wenk. Verskeie klousules kan binne een Google Sheets QUERY-funksie gebruik word. As jy hulle almal nes, maak seker dat jy die volgorde van hul voorkoms in hierdie artikel volg.

    Kies (alle of spesifieke kolomme)

    Die heel eerste klousule – kies – word gebruik om te sê watter kolomme jy moet terugstuur met Google Blaaie QUERYvan 'n ander blad of tabel.

    Voorbeeld 1. Kies alle kolomme

    Om elke kolom te gaan haal, gebruik kies met 'n asterisk – kies *

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

    Wenk. As jy die kies parameter weglaat, sal Google Sheets QUERY by verstek alle kolomme terugstuur:

    =QUERY(Papers!A1:G11)

    Voorbeeld 2. Kies spesifieke kolomme

    Om net sekere kolomme te trek , lys hulle na die kies -klousule:

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

    Wenk. Die kolomme van belang sal gekopieer word in dieselfde volgorde as wat jy hulle in die formule noem:

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

    Google Sheets QUERY – Where-klousule

    Google Blaaie QUERY waar gebruik word om die voorwaardes te stel vir die data wat jy wil kry. Met ander woorde, dit dien as 'n filter.

    As jy hierdie klousule gebruik, sal QUERY-funksie vir Google Blaaie kolomme soek vir waardes wat aan jou voorwaardes voldoen en alle passings na jou toe terughaal.

    Wenk. Waar kan funksioneer sonder die kies -klousule.

    Soos gewoonlik, om voorwaardes te spesifiseer, is daar stelle spesiale operateurs vir jou:

    • eenvoudige vergelykingsoperateurs ( vir numeriese waardes ): =, , >, >=, <, <=
    • komplekse vergelykingsoperateurs ( vir stringe ): bevat, begin met, eindig met, pas by, != (pas nie / is nie gelyk aan nie), soos .
    • logiese operateurs om verskeie voorwaardes te kombineer : en, of, nie .
    • operateurs vir blank/ nie leeg nie : is nul, is nie nul nie .

    Wenk. As jy ontsteld of bekommerd is dat jy weer met so 'n groot aantal operateurs te doen het, voel ons jou. Ons veelvuldige Vlookup-passings sal alle passings vind en QUERY-formules in Google Sheets vir jou bou indien nodig.

    Kom ons kyk hoe hierdie operateurs in formules optree.

    Voorbeeld 1. Waar met nommers

    Ek sal waar by my Google Blaaie voeg VRAAG van bo af om die inligting te kry oor daardie planete wat meer as 10 mane het:

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

    Wenk. Ek het ook kolom F genoem om te gaan haal net om seker te maak dat daar aan die kriterium voldoen word. Maar dit is heeltemal opsioneel. Jy hoef nie kolomme met voorwaardes by die resultaat in te sluit nie:

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

    Voorbeeld 2. Waar met teksstringe

    • Ek wil sien alle rye waar die graad óf F óf F+ is. Ek sal die bevat -operateur daarvoor gebruik:

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

      Let wel. Moenie vergeet om jou teks met aanhalingstekens te omring nie.

    • Om alle rye slegs met F te kry, vervang net bevat met 'n gelykheidsteken (=):

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

    • Om die vraestelle wat nog afgelewer moet word (waar die graad ontbreek) na te gaan, gaan na kolom G vir spasies:

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

    Voorbeeld 3. Waar met datums

    Raai wat: Google Blaaie QUERY het selfs daarin geslaag om datums te tem!

    Aangesien sigblaaie datums as reeksnommers stoor, moet jy gewoonlikwend tot die hulp van spesiale funksies soos DATUM of DATUMWAARDE, JAAR, MAAND, TYD, ens.

    Maar QUERY het sy weg gevind om datums. Om hulle behoorlik in te voer, tik eenvoudig die woord datum en voeg dan die datum self by geformateer as jjjj-mm-dd: datum '2020-01-01'

    Hier is my formule om alle rye met 'n toespraakdatum voor 1 Jan 2020 te kry:

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

    Voorbeeld 4. Kombineer verskeie voorwaardes

    Om 'n sekere tydperk as 'n maatstaf te gebruik, sal jy twee voorwaardes moet kombineer.

    Kom ons probeer daardie vraestelle wat in die Herfs, 2019 afgelewer is, ophaal. Die eerste kriteria moet 'n datum op wees of na 1 September 2019 , die tweede — op of voor 30 November 2019 :

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

    Of, ek kan vraestelle kies gebaseer op hierdie parameters:

    • voor 31 Desember 2019 ( B )
    • het óf A óf A+ as 'n graad ( G bevat 'A' )
    • of B/B+ ( G bevat 'B' )

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

    Wenk. As jou kop reeds op die punt staan ​​om te ontplof, moenie moed opgee nie. Daar is 'n instrument wat perfek in staat is om al hierdie formules vir jou te bou, ongeag die aantal kriteria. Spring regs na die einde van die artikel om dit te leer ken.

    Google Sheets QUERY – Groepeer deur

    Google Sheets QUERY groepeer volgens -opdrag word gebruik om rye aaneen te koppel. Jy moet egter 'n paar totale funksies gebruik om hulle op te som.

    Let wel. Groep volgens moet altyd die kies -klousule volg.

    Ongelukkig is daar niks om in my tabel te groepeer nie, want daar is geen herhalende waardes nie. So laat ek dit 'n bietjie aanpas.

    Gestel, al die vraestelle moet slegs deur 3 studente voorberei word. Ek kan die hoogste graad kry wat elke student gekry het. Maar aangesien dit letters is, is dit die MIN-funksie wat ek op kolom G moet toepas:

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

    Let wel. As jy nie 'n saamgevoegde funksie met enige kolom in die kies -klousule (kolom A in my voorbeeld) gebruik nie, moet jy hulle almal in die groep by<2 dupliseer> klousule.

    Google Sheets QUERY – Pivot

    Google Sheets QUERY pivot klousule werk andersom, as ek so mag sê. Dit transponeer data van een kolom na 'n ry met nuwe kolomme, en groepeer ander waardes dienooreenkomstig.

    Vir die van julle wat met datums te doen het, kan dit 'n ware ontdekking wees. Jy sal 'n vinnige blik op al die onderskeie jare van daardie bronkolom kan kry.

    Let wel. Wanneer dit by spil kom, moet elke kolom wat in die kies -klousule gebruik word, met 'n totale funksie bedek wees. Anders moet dit in die groep genoem word deur opdrag na jou spil .

    Onthou, my tabel noem nou net 3 studente. Ek gaan die funksie vir my laat vertel hoeveel verslae elke student gemaak het:

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

    Google Sheets QUERY – Bestel volgens

    Hierdie een is redelik maklik :) Dit is gewoond daaraansorteer die uitkoms volgens die waardes in sekere kolomme.

    Wenk. Alle vorige klousules is opsioneel wanneer orden volgens gebruik word. Ek gebruik kies om minder kolomme vir demonstrasiedoeleindes terug te gee.

    Kom ons gaan terug na my oorspronklike tabel en sorteer verslae volgens toespraakdatum.

    Hierdie volgende Google Sheets QUERY-formule sal vir my kolomme A, B en C kry, maar sal dit terselfdertyd volgens datum sorteer in kolom B:

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

    Beperk

    Wat as ek vir jou sê, jy hoef nie elke ry in te bring die resultaat? Wat as ek vir jou gesê het dat Google Sheets QUERY slegs 'n sekere hoeveelheid van die eerste passings wat dit vind kan trek?

    Wel, die limiet -klousule is ontwerp om jou daarmee te help. Dit beperk die aantal rye om terug te keer deur die gegewe getal.

    Wenk. Gebruik gerus limiet sonder ander vorige klousules.

    Hierdie formule sal die eerste 5 rye wys waar die kolom met grade 'n punt bevat (nie leeg is nie):

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

    Offset

    Hierdie klousule is soort van die teenoorgestelde van die vorige een. Terwyl limiet vir jou die aantal rye gee wat jy spesifiseer, slaan offset hulle oor, en haal die res terug.

    Wenk. Offset vereis ook geen ander klousules nie.

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

    As jy beide limiet en offset probeer gebruik, sal die volgende gebeur:

    1. Offset sal rye aan die begin oorslaan.
    2. Limit sal 'n aantal van dievolgende rye.

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

    Uit 11 rye data (die eerste een is 'n kopskrif en QUERY-funksie in Google Blaaie doen 'n goeie werk om dit te verstaan), slaan offset die eerste oor 3 rye. Limiet gee 3 volgende rye terug (begin vanaf die 4de een):

    Google Sheets QUERY – Etiket

    Google Sheets QUERY etiket opdrag laat jou kopname van die kolomme verander.

    Wenk. Ander klousules is ook opsioneel vir etiket .

    Sit die etiket eerste, gevolg deur die kolom ID en 'n nuwe naam. As jy 'n paar kolomme hernoem, skei elke nuwe paar kolom-etiket deur 'n komma:

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

    Formaat

    Die format -klousule maak dit moontlik om die formaat van alle waardes in 'n kolom te verander. Daarvoor sal jy 'n patroon nodig hê wat agter die verlangde formaat staan.

    Wenk. Die formaatklousule kan ook solo speel in die Google Blaaie QUERY.

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

    Wenk. Ek het 'n paar datumformate vir Google Sheets QUERY in hierdie blogpos genoem. Ander formate kan direk vanaf sigblaaie geneem word: Format > Nommer > Meer formate > Gepasmaakte getalformaat .

    Opsies

    Hierdie een word gebruik om 'n paar bykomende instellings vir die uitkomsdata te stel.

    Byvoorbeeld, so 'n opdrag soos geen_waardes sal slegs geformateerde selle terugstuur.

    Die vinnigste manier om QUERY-formules te bou – Veelvuldige Vlookup-passings

    Hoe kragtig die QUERY-funksie in Google Sheets ook al is,dit kan 'n leerkurwe vereis om in die hande te kry. Dit is een ding om elke klousule afsonderlik op 'n klein tafel te illustreer, en heeltemal 'n ander ding om alles reg te probeer bou met 'n paar klousules en 'n baie groter tabel.

    Daarom het ons besluit om Google Sheets QUERY in 'n gebruikersvriendelike koppelvlak en maak dit die byvoeging.

    Waarom is veelvuldige VLOOKUP-passings beter as formules?

    Wel, met die byvoeging is dit absoluut nie nodig nie :

    • vind uit enigiets oor daardie klousules . Dit is regtig maklik om baie komplekse toestande in die byvoeging te skep: soveel as wat jy nodig het ten spyte van hul bestelling om soveel wedstryde te haal as wat jy nodig het.

      Let wel. Op die oomblik is die volgende klousules in die instrument opgeneem: kies, waar, limiet, en offset . As jou taak ook ander klousules vereis, lewer asseblief kommentaar hieronder – miskien sal jy ons help om te verbeter ;)

    • weet hoe om operateurs in te voer : kies net die een uit 'n aftreklys.
    • raaisel oor die korrekte manier om datum en tyd in te voer . Die byvoeging laat jou toe om hulle in te voer soos jy gewoond was, gebaseer op jou sigblad-plek.

      Wenk. Daar is altyd 'n wenk beskikbaar in die instrument met voorbeelde van verskillende datatipes.

    As 'n bonus , sal jy in staat wees om:

    • voorskou beide die resultaat en die formule
    • maak vinnige aanpassings aan jou

    Michael Brown is 'n toegewyde tegnologie-entoesias met 'n passie om komplekse prosesse te vereenvoudig deur sagteware-instrumente te gebruik. Met meer as 'n dekade se ondervinding in die tegnologiebedryf, het hy sy vaardighede in Microsoft Excel en Outlook, sowel as Google Sheets en Docs, opgeskerp. Michael se blog is toegewy daaraan om sy kennis en kundigheid met ander te deel, en verskaf maklik-om-te volg wenke en tutoriale vir die verbetering van produktiwiteit en doeltreffendheid. Of jy nou 'n ervare professionele persoon of 'n beginner is, Michael se blog bied waardevolle insigte en praktiese raad om die meeste uit hierdie noodsaaklike sagteware-nutsmiddels te kry.