Kuidas kasutada Google Sheets QUERY funktsiooni - standardsed klauslid ja alternatiivne tööriist

  • Jaga Seda
Michael Brown

Kui olete seda blogi juba mõnda aega jälginud, siis mäletate võib-olla Google Sheetsi QUERY funktsiooni. Ma mainisin seda kui võimalikku lahendust paaril korral. Kuid need ei ole kaugeltki piisavad, et avastada selle kogu potentsiaali. Täna on viimane aeg seda tabelarvutuse superkangelast korralikult tundma õppida. Ja arvake ära - üks sama tähelepanuväärne tööriist on ka seal :)

Kas teadsid, et Google Sheetsi QUERY funktsiooni peetakse kõige võimsamaks tabelarvutusprogrammides? Selle omapärane süntaks soosib kümneid erinevaid operatsioone. Proovime selle osad lahti harutada, et neid ükskord ära õppida, eks ole?

    Google Sheets QUERY funktsiooni süntaks

    Esmapilgul on Google Sheets QUERY lihtsalt üks funktsioon, millel on 1 valikuline ja 2 nõutavat argumenti:

    =QUERY(andmed, päring, [päised])
    • andmed on töötlemiseks vajalik vahemik. Vajalik. Siin on kõik kristallselge.

      Märkus. Ainult üks väike meeldetuletus siin Google'i poolt kehtestatud: iga veerg peaks sisaldama ühte tüüpi andmeid: tekstiline, või numbriline, või boolean. Kui on erinevaid tüüpe, siis QUERY töötab selle tüübiga, mis esineb kõige rohkem. Muud tüübid loetakse tühjadeks lahtriteks. Imelik, aga pidage seda meeles.

    • päring on viis, kuidas töödelda andmed . Vajalik. Siin algab kogu lõbu. Google Sheets QUERY funktsioon kasutab selle argumendi jaoks spetsiaalset keelt: Google Visualiseerimise API päringukeel See on kirjutatud sarnaselt SQL-le. Põhimõtteliselt on see kogum spetsiaalsetest lausetest (käskudest), mida kasutatakse selleks, et öelda funktsioonile, mida teha: select, group by, limit jne.

      Märkus. Kogu argument peab olema ümbritsetud kahekordsete jutumärkide sisse. Väärtused omakorda tuleb ümbritseda jutumärkidesse.

    • päised on valikuline, kui teil on vaja näidata oma andmete päise ridade arvu. Jäta argument (nagu ma teen allpool), ja Google Sheets QUERY eeldab, et see põhineb teie tabeli sisu.

    Nüüd kaevume sügavamalt klauslitesse ja nende toimimisse.

    Google Sheets QUERY valemites kasutatavad klauslid

    Päringukeel koosneb 10 lausest. Need võivad esmapilgul hirmutada, eriti kui sa ei ole SQL-iga tuttav. Aga ma luban, et kui sa neid tundma õpid, saad oma käsutusse võimsa tabelarvutusrelva.

    Ma käsitlen iga klauslit ja annan näiteid valemite kohta, kasutades seda nimekirja kujuteldavatest õpilastest ja nende paberite teemadest:

    Jah, ma olen üks neist veidrustest, kes arvab, et Pluuto peaks olema planeet :)

    Vihje. Ühe Google Sheets QUERY funktsiooni sees saab kasutada mitmeid klausleid. Kui pesitsed neid kõiki, jälgi kindlasti nende järjekorda selles artiklis.

    Valige (kõik või konkreetsed veerud)

    Kõige esimene klausel - valige - kasutatakse, et öelda, milliseid veergusid on vaja Google Sheets QUERY teise lehe või tabeli abil tagastada.

    Näide 1. Valige kõik veerud

    Iga veeru kättesaamiseks kasutage valige tärniga - vali *

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

    Vihje. Kui jätate välja valige parameeter, Google Sheets QUERY tagastab kõik veerud vaikimisi:

    =QUERY(Paberid!A1:G11)

    Näide 2. Teatud veergude valimine

    Kui soovite tõmmata ainult teatud veergusid, loetlege need pärast sõna valige klausel:

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

    Vihje. Huvipakkuvad veerud kopeeritakse samas järjekorras, nagu te neid valemis mainite:

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

    Google Sheets KÜSIMUS - Kus klausel

    Google Sheets Küsitlus kus kasutatakse tingimuste seadmiseks soovitud andmete suhtes. Teisisõnu, see toimib filtrina.

    Kui te kasutate seda tingimust, QUERY funktsioon Google Sheets otsib veergude väärtused, mis vastavad teie tingimustele ja tuua kõik vasted tagasi teile.

    Vihje. Kus saab toimida ilma valige klausel.

    Nagu tavaliselt, on tingimuste täpsustamiseks olemas komplektid spetsiaalsete operaatorid teile:

    • lihtsad võrdlusoperaatorid ( numbriliste väärtuste puhul ): =, ,>,>=, <, <=
    • komplekssed võrdlusoperaatorid ( stringide puhul ): sisaldab, algab, lõpeb, vastab, != (ei vasta / ei ole võrdne), nagu .
    • loogilised operaatorid, et kombineerida mitu tingimust : ja, või, mitte .
    • operaatorite jaoks tühi / mitte tühi : on null, ei ole null .

    Vihje. Kui olete ärritunud või mures, et peate jälle nii suure hulga operaatoritega tegelema, tunneme teid. Meie Multiple Vlookup Matches leiab kõik vasted ja ehitab vajadusel teie jaoks Google Sheetsis QUERY-vormelid.

    Vaatame, kuidas need operaatorid käituvad valemites.

    Näide 1. Kus numbritega

    Ma lisan kus minu Google Sheets QUERY eespool saada infot nende planeetide kohta, millel on rohkem kui 10 kuud:

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

    Vihje. Ma mainisin ka veergu F, mida tuleb hankida lihtsalt selleks, et veenduda, et kriteerium on täidetud. Aga see on täiesti vabatahtlik. Sa ei pea tingimustega veergusid tulemusse lisama:

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

    Näide 2. Kus tekstisõnadega

    • Ma tahan näha kõiki ridu, kus hinne on kas F või F+ . ma kasutan sisaldab operaator:

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

      Märkus. Ärge unustage ümbritseda oma teksti jutumärkidega.

    • Et saada kõik read, millel on F ainult, lihtsalt asendage sisaldab võrdusmärgiga (=):

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

    • Et kontrollida veel esitamata pabereid (mille hinne on puudu), vaadake veergu G toorikute jaoks:

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

    Näide 3. Kus koos kuupäevadega

    Arvata, mis: Google Sheets QUERY on isegi suutnud taltsutada kuupäevad!

    Kuna tabelarvutid salvestavad kuupäevi järjekorranumbritena, tuleb tavaliselt kasutada spetsiaalseid funktsioone nagu DATE või DATEVALUE, YEAR, MONTH, TIME jne.

    Kuid QUERY on leidnud oma tee kuupäevade ümber. Nende õigeks sisestamiseks tuleb lihtsalt sisestada sõna kuupäev ja seejärel lisage kuupäev ise, mis on vormindatud kujul yyyy-mm-dd: kuupäev '2020-01-01'

    Siin on minu valem, et saada kõik read, mille kõnekuupäev on enne 1. jaanuari 2020:

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

    Näide 4. Mitme tingimuse kombineerimine

    Selleks, et kasutada kriteeriumina teatud ajavahemikku, peate kombineerima kaks tingimust.

    Proovime välja otsida need paberid, mis toimetati sügisel 2019. Esimene kriteerium peaks olema kuupäev. 1. septembril 2019 või pärast seda , teine - hiljemalt 30. novembril 2019 :

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

    Või võin valida paberid nende parameetrite alusel:

    • enne 31. detsembrit 2019 ( B )
    • on hindeks kas A või A+ ( G sisaldab "A". )
    • või B/B+ ( G sisaldab "B". )

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

    Vihje. Kui su pea hakkab juba plahvatama, siis ära anna veel alla. On olemas tööriist, mis on täiesti võimeline kõik need valemid sinu eest koostama, sõltumata kriteeriumide arvust. Hüppa kohe artikli lõppu, et sellega tutvuda.

    Google Sheets Küsitlus - Group By

    Google Sheets Küsitlus rühm poolt käsku kasutatakse ridade liitmiseks. Nende kokkuvõtmiseks peaksite siiski kasutama mõningaid koondfunktsioone.

    Märkus. Rühm kaupa peab alati järgima valige klausel.

    Kahjuks ei ole minu tabelis midagi rühmitada, kuna ei ole korduvaid väärtusi. Nii et ma kohandan seda natuke.

    Oletame, et kõik tööd peavad koostama ainult 3 õpilast. Ma saan leida kõrgeima hinde, mille iga õpilane sai. Aga kuna need on tähed, siis peaksin veerus G rakendama MIN-funktsiooni:

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

    Märkus. Kui te ei kasuta agregaatfunktsiooni ühegi veeru juures, siis valige klausel (veerg A minu näites), tuleb need kõik dubleerida dokumendis rühm poolt klausel.

    Google Sheets Küsitlus - Pivot

    Google Sheets Küsitlus pivot klausel töötab vastupidi, kui tohib nii öelda. See transponeerib andmed ühest veerust reale uute veergudega, grupeerides vastavalt ka teised väärtused.

    Neile, kes tegelevad kuupäevadega, võib see olla tõeline avastus. Saate sellest allikasambast kiire ülevaate kõigist erinevatest aastatest.

    Märkus. Kui tegemist on pivot , iga veerg, mida kasutatakse valige klausel peaks olema kaetud koondfunktsiooniga. Vastasel juhul peaks see olema mainitud rühm poolt käsk pärast teie pivot .

    Pidage meeles, et minu tabelis on praegu ainult 3 õpilast. Ma panen funktsiooni ütlema, mitu aruannet iga õpilane tegi:

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

    Google Sheets Küsitlus - Tellimine

    See on üsna lihtne :) Seda kasutatakse tulemuste sorteerimiseks teatud veergude väärtuste järgi.

    Vihje. Kõik eelnevad klauslid on valikulised, kui kasutatakse tellida . ma kasutan valige et anda tagasi vähem veerge demonstratsiooni eesmärgil.

    Lähme tagasi minu algsesse tabelisse ja sorteerime aruanded kõnekuupäevade järgi.

    See järgmine Google Sheets QUERY valem saab mulle veerud A, B ja C, kuid samal ajal sorteerib neid kuupäeva järgi veerus B:

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

    Piirangud

    Mis siis, kui ma ütleksin teile, et te ei pea iga rea tulemustesse tooma? Mis siis, kui ma ütleksin teile, et Google Sheets QUERY saab tõmmata ainult teatud hulga esimesi vasteid, mida ta leiab?

    Noh, see piirata Klausel on mõeldud selleks, et aidata teil seda teha. See piirab tagastatavate ridade arvu antud arvuga.

    Vihje. Kasutage julgelt piirata ilma muude eelnevate klausliteta.

    See valem näitab esimesed 5 rida, kus veerg hinne sisaldab märki (ei ole tühi):

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

    Offset

    See klausel on omamoodi vastupidine eelmisele. Kuigi piirata saab määratud arvu ridu, offset jätab need vahele, võttes kätte ülejäänud.

    Vihje. Offset ei nõua ka muid klausleid.

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

    Kui proovite kasutada mõlemat piirata ja offset , siis juhtub järgmist:

    1. Offset jätab read alguses vahele.
    2. Piirangud tagastab järgmiste ridade arvu.

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

    11 andmereast (esimene on päis ja QUERY funktsioon Google Sheets teeb head tööd, et mõista, et), offset jätab esimesed 3 rida vahele. Limit tagastab 3 järgmist rida (alates 4. reast):

    Google Sheets Küsitlus - Silt

    Google Sheets Küsitlus silt käsk võimaldab muuta veergude päise nimesid.

    Näpunäide. Muud klauslid on vabatahtlikud silt samuti.

    Pane silt kõigepealt, millele järgneb veeru ID ja uus nimi. Kui nimetate ümber mitu veergu, eraldage iga uus veeru märgistuse paar komaga:

    =QUERY(Paberid!A1:G11, "select A,B,C label A 'Nimi', B 'Kuupäev'")

    Formaat

    The formaat klausel võimaldab muuta kõigi veerus olevate väärtuste formaati. Selleks on vaja soovitud formaadi taga seisvat mustrit.

    Vihje. Formaatikaklauslit saab ka Google Sheets QUERY's soolot mängida.

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

    Vihje. Ma mainisin selles blogipostituses mõningaid kuupäevaformaate Google Sheets QUERY jaoks. Teisi formaate saab võtta otse tabelitest: Formaat> Number> Rohkem formaate> Kohandatud numbriformaat .

    Valikud

    Seda kasutatakse mõnede täiendavate seadete määramiseks tulemusandmete jaoks.

    Näiteks selline käsk nagu no_values tagastab ainult vormindatud lahtrid.

    Kiireim viis QUERY valemite koostamiseks - Multiple Vlookup Matches

    Üks asi on iga klausli eraldi illustreerimine väikeses tabelis ja hoopis teine asi on püüda kõike õigesti üles ehitada mõne klausli ja palju suurema tabeli abil.

    Seetõttu otsustasime Google Sheets QUERY riietada kasutajasõbralikku kasutajaliidesesse ja teha sellest lisavõimaluse.

    Miks mitu VLOOKUPi vasteid on parem kui valemid?

    Noh, koos lisandiga on absoluutselt ei ole vaja :

    • välja selgitada midagi nende kohta klauslid Lisaseadmes on väga lihtne luua palju keerulisi tingimusi: nii palju kui vaja, hoolimata nende järjekorrast, et saada nii palju vasteid kui vaja.

      Märkus. Praegu on vahendisse lisatud järgmised punktid: select, where, limit, ja offset Kui teie ülesanne nõuab ka teisi klausleid, siis palun kommenteerige allpool - ehk aitate meid parandada ;)

    • teavad, kuidas sisestage operaatorid : valige lihtsalt üks valik rippmenüüst.
    • mõistatada õige viis kuupäeva ja kellaaja sisestamiseks Lisa võimaldab teil sisestada neid nagu varemgi, lähtudes oma tabelite asukohast.

      Vihje. Tööriistas on alati saadaval vihje erinevate andmetüüpide näidetega.

    Nagu boonus , siis saate:

    • eelvaade nii tulemus ja valem
    • teha kiired kohandused teie kriteeriumidele
    • valige koht tulemuse jaoks
    • sisestada tulemus on nii QUERY valem või nagu väärtused

    Ma ei tee nalja, vaadake ise. Kuigi see GIF oli kiirendatud, kulus mul vähem kui minut kõigi kriteeriumide peenhäälestamiseks ja tulemuse saamiseks:

    Kui oled piisavalt uudishimulik, siis siin on üksikasjalik video, mis näitab, kuidas see lisa töötab:

    Loodan, et annate lisale võimaluse ja hangite selle Google Workspace Marketplace'ist. Ärge olge häbelikud ja jagage oma tagasisidet, eriti kui teile midagi ei meeldi.

    Tutvu ka selle õpetuslehe või kodulehega.

    Michael Brown on pühendunud tehnoloogia entusiast, kelle kirg on tarkvaratööriistade abil keerukate protsesside lihtsustamine. Rohkem kui kümneaastase kogemusega tehnoloogiatööstuses on ta lihvinud oma oskusi Microsoft Excelis ja Outlookis, samuti Google Sheetsis ja Docsis. Michaeli ajaveebi eesmärk on jagada oma teadmisi ja teadmisi teistega, pakkudes hõlpsasti järgitavaid näpunäiteid ja õpetusi tootlikkuse ja tõhususe parandamiseks. Olenemata sellest, kas olete kogenud professionaal või algaja, pakub Michaeli ajaveebi väärtuslikke teadmisi ja praktilisi nõuandeid nende oluliste tarkvaratööriistade maksimaalseks kasutamiseks.