Kuinka käyttää Google Sheets QUERY-toimintoa - vakiolausekkeet ja vaihtoehtoinen työkalu

  • Jaa Tämä
Michael Brown

Jos olet seurannut tätä blogia jonkin aikaa, saatat muistaa Google Sheetsin QUERY-toiminnon. Mainitsin sen mahdollisena ratkaisuna pariin tapaukseen. Mutta ne eivät läheskään riitä paljastamaan sen täyttä potentiaalia. Tänään on korkea aika tutustua tähän taulukkolaskennan supersankariin kunnolla. Ja arvaa mitä - yksi yhtä huomionarvoinen työkalu on myös mukana :)

Tiesitkö, että Google Sheetsin QUERY-toimintoa pidetään taulukkolaskennan tehokkaimpana? Sen erikoinen syntaksi suosii kymmeniä eri toimintoja. Yritetäänpä pilkkoa sen osat, jotta opitaan ne lopullisesti, eikö niin?

    Syntaksi Google Sheets QUERY toiminto

    Ensi silmäyksellä, Google Sheets QUERY on vain yksi funktio, jossa 1 valinnainen ja 2 vaaditaan argumentteja:

    =QUERY(data, kysely, [otsikot])
    • tiedot on käsiteltävä alue. Tarvitaan. Kaikki on kristallinkirkasta täällä.

      Huomautus. Vain yksi pieni muistutus tässä perustettu Google: jokainen sarake pitäisi sisältää yhden tyyppistä tietoa: tekstuaalinen, tai numeerinen, tai boolean. Jos on olemassa eri tyyppejä, QUERY toimii yksi, joka esiintyy eniten. Muut tyypit pidetään tyhjiä soluja. Outoa, mutta pitää tämä mielessä.

    • kysely on tapa käsitellä tiedot . Tarvitaan. Tässä vaiheessa kaikki hauskuus alkaa. Google Sheetsin QUERY-funktio käyttää erityistä kieltä tätä argumenttia varten: Google Visualization API -kyselykieli Se on kirjoitettu SQL:n tapaan. Periaatteessa se on joukko erityisiä lausekkeita (komentoja), joita käytetään kertomaan funktiolle, mitä tehdä: select, group by, limit jne.

      Huomautus: Koko argumentti on suljettava kaksoispainikkeisiin. Arvot puolestaan on suljettava lainausmerkkeihin.

    • otsikot on valinnainen silloin, kun sinun täytyy ilmoittaa määrä otsikkorivien rivejä tiedot. Puuttua argumentti (kuten minä teen alla), ja Google Sheets QUERY olettaa sen perusteella sisällön taulukon.

    Tutustutaan nyt tarkemmin lausekkeisiin ja niiden toimintaan.

    Lausekkeet käytetään Google Sheets QUERY kaavat

    Kyselykieli koostuu 10 lausekkeesta. Ne saattavat pelottaa ensi silmäyksellä, varsinkin jos et tunne SQL:ää. Mutta lupaan, että kun tutustut niihin, saat käyttöösi tehokkaan taulukkolaskentaaseen.

    Käsittelen jokaista lauseketta ja annan kaavaesimerkkejä käyttäen tätä luetteloa kuvitteellisista opiskelijoista ja heidän paperiaineistaan:

    Jep, olen yksi niistä kummajaisista, joiden mielestä Pluton pitäisi olla planeetta :)

    Vihje. Useita lausekkeita voidaan käyttää yhdessä Google Sheets QUERY-toiminnossa. Jos yhdistät ne kaikki, varmista, että noudatat niiden esiintymisjärjestystä tässä artikkelissa.

    Valitse (kaikki tai tietyt sarakkeet)

    Ensimmäinen lauseke - valitse - käytetään kertomaan, mitä sarakkeita sinun täytyy palauttaa Google Sheets QUERY toisesta arkin tai taulukon.

    Esimerkki 1. Valitse kaikki sarakkeet

    Jos haluat hakea jokaisen sarakkeen, käytä valitse tähdellä - select *

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

    Vihje. Jos jätät pois valitse parametri, Google Sheets QUERY palauttaa kaikki sarakkeet oletuksena:

    =QUERY(Papers!A1:G11)

    Esimerkki 2. Tiettyjen sarakkeiden valinta

    Jos haluat vetää vain tiettyjä sarakkeita, listaa ne sarakkeen valitse lauseke:

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

    Vihje. Kiinnostavat sarakkeet kopioidaan samassa järjestyksessä kuin mainitsit ne kaavassa:

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

    Google Sheets QUERY - Where lauseke

    Google Sheets QUERY jossa käytetään asettamaan ehtoja haluamillesi tiedoille. Toisin sanoen se toimii suodattimena.

    Jos käytät tätä lauseketta, QUERY toiminto Google Sheets etsii sarakkeita arvoja, jotka täyttävät ehdot ja noutaa kaikki osumat takaisin sinulle.

    Vinkki. Missä voi toimia ilman valitse lauseke.

    Kuten tavallista, ehtojen määrittämiseksi on olemassa joukko erityisiä operaattorit sinulle:

    • yksinkertaiset vertailuoperaattorit ( numeerisia arvoja varten ): =, ,>,>=, <, <=
    • kompleksiset vertailuoperaattorit ( jousien osalta ): sisältää, alkaa, päättyy, vastaa, != (ei vastaa / ei ole yhtä suuri kuin), kuten .
    • loogiset operaattorit yhdistää useita ehtoja : ja, tai, ei .
    • operaattorit tyhjä / ei tyhjä : on null, ei ole null .

    Vihje. Jos olet järkyttynyt tai huolissasi siitä, että sinun täytyy käsitellä jälleen niin suurta määrää operaattoreita, ymmärrämme sinua. Meidän Multiple Vlookup Matches löytää kaikki ottelut ja rakentaa tarvittaessa QUERY-kaavat Google Sheetsissä puolestasi.

    Katsotaanpa, miten nämä operaattorit käyttäytyvät kaavoissa.

    Esimerkki 1. Missä numeroin

    Lisään jossa minun Google Sheets QUERY edellä saada tietoa niistä planeetoista, joilla on enemmän kuin 10 kuita:

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

    Vinkki. Mainitsin myös sarakkeen F, joka haetaan vain varmistaaksesi, että kriteeri täyttyy. Se on kuitenkin täysin vapaaehtoista. Sinun ei tarvitse sisällyttää tulokseen sarakkeita, joissa on ehtoja:

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

    Esimerkki 2. Missä tekstijonojen kanssa

    • Haluan nähdä kaikki rivit, joilla palkkaluokka on joko seuraava F tai F+ . Käytän sisältää operaattoria:

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

      Huomautus: älä unohda ympäröidä tekstiäsi lainausmerkeillä.

    • Saadaksesi kaikki rivit, joissa on F vain, korvaa vain sisältää yhtäläisyysmerkillä (=):

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

    • Tarkista vielä toimittamatta olevat paperit (joista puuttuu arvosana) sarakkeesta G aihioita varten:

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

    Esimerkki 3. Missä päivämäärineen

    Arvaa mitä: Google Sheets QUERY on jopa onnistunut kesyttää päivämääriä!

    Koska taulukkolaskentaohjelmat tallentavat päivämääriä sarjanumeroina, sinun on yleensä turvauduttava erikoisfunktioihin kuten DATE tai DATEVALUE, YEAR, MONTH, TIME jne.

    Mutta QUERY on löytänyt tiensä päivämäärien ympärille. Voit syöttää ne oikein, yksinkertaisesti kirjoita sana päivämäärä ja lisää sitten itse päivämäärä muodossa vvvv-kk-mk-tv: päivämäärä '2020-01-01'

    Tässä on kaava, jolla haen kaikki rivit, joiden puhepäivämäärä on ennen 1. tammikuuta 2020:

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

    Esimerkki 4. Useiden ehtojen yhdistäminen

    Jos haluat käyttää tiettyä ajanjaksoa kriteerinä, sinun on yhdistettävä kaksi ehtoa.

    Yritetään hakea ne paperit, jotka on toimitettu syksyllä 2019. Ensimmäisenä kriteerinä pitäisi olla päivämäärä. 1. syyskuuta 2019 tai sen jälkeen , toinen - viimeistään 30. marraskuuta 2019 :

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

    Tai voin valita paperit näiden parametrien perusteella:

    • ennen 31. joulukuuta 2019 ( B )
    • arvosanaksi on annettu joko A tai A+ ( G sisältää 'A' )
    • tai B/B+ ( G sisältää 'B' )

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

    Vinkki: Jos pääsi on jo räjähtämäisillään, älä luovuta vielä. On olemassa työkalu, joka pystyy täydellisesti rakentamaan kaikki nämä kaavat puolestasi, olipa kriteerien määrä mikä tahansa. Hyppää suoraan artikkelin loppuun tutustuaksesi siihen.

    Google Sheets QUERY - Group By

    Google Sheets QUERY ryhmä komentoa käytetään rivien yhdistämiseen. Sinun on kuitenkin käytettävä joitain yhteenvetotoimintoja, jotta voit tehdä niistä yhteenvedon.

    Huom. Ryhmittäin on aina noudatettava valitse lauseke.

    Valitettavasti taulukossani ei ole mitään ryhmiteltävää, koska siinä ei ole toistuvia arvoja. Säädän sitä siis hieman.

    Oletetaan, että kaikki paperit on laatinut vain 3 opiskelijaa. Voin löytää kunkin opiskelijan saaman korkeimman arvosanan. Mutta koska ne ovat kirjaimia, minun pitäisi soveltaa sarakkeeseen G MIN-funktiota:

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

    Huomautus: Jos et käytä aggregaattifunktiota minkään sarakkeen kanssa sarakkeessa valitse lauseke (sarake A esimerkissäni), sinun on kopioitava ne kaikki tiedostoon ryhmä lauseke.

    Google Sheets QUERY - Pivot

    Google Sheets QUERY pivot lauseke toimii päinvastoin, jos saan sanoa niin. Se siirtää tiedot yhdestä sarakkeesta riville, jossa on uusia sarakkeita, ja ryhmittelee muut arvot vastaavasti.

    Niille, jotka käsittelevät päivämääriä, se voi olla todellinen löytö. Voit saada nopean katsauksen kaikkiin eri vuosilukuihin tuosta lähdesarakkeesta.

    Huom. Kun on kyse pivot , jokainen sarake, jota käytetään valitse lausekkeessa tulisi olla aggregaattifunktio. Muussa tapauksessa se tulisi mainita lausekkeessa ryhmä komennon jälkeen pivot .

    Muista, että taulukkoni sisältää nyt vain 3 opiskelijaa. Aion saada funktion kertomaan, kuinka monta raporttia kukin opiskelija on tehnyt:

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

    Google Sheets QUERY - Järjestä mukaan

    Tämä on melko helppoa :) Sitä käytetään lajittelemaan tulokset tiettyjen sarakkeiden arvojen mukaan.

    Vihje. Kaikki edelliset lausekkeet ovat valinnaisia, kun käytetään komentoa järjestyksessä . Käytän valitse palauttaa vähemmän sarakkeita havainnollistamistarkoituksessa.

    Palataan alkuperäiseen taulukkoon ja lajitellaan raportit puhepäivämäärän mukaan.

    Tämä seuraava Google Sheets QUERY kaava saa minut sarakkeet A, B ja C, mutta samaan aikaan lajittelee ne päivämäärän mukaan sarakkeessa B:

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

    Raja

    Mitä jos sanoisin, sinun ei tarvitse tuoda jokaista riviä tulokseen? Mitä jos sanoisin, että Google Sheets QUERY voi vetää vain tietyn määrän ensimmäisistä löytämistään osumista?

    No... raja lauseke on suunniteltu auttamaan sinua tässä, sillä se rajoittaa palautettavien rivien määrää annetulla määrällä.

    Vinkki. Voit vapaasti käyttää raja ilman muita edeltäviä lausekkeita.

    Tämä kaava näyttää 5 ensimmäistä riviä, joiden arvosanat-sarakkeessa on merkki (ei tyhjä):

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

    Offset

    Tämä lauseke on tavallaan päinvastainen kuin edellinen. Vaikka raja saat määrittelemäsi rivien määrän, offset ohittaa ne ja hakee loput.

    Vinkki. Offset ei myöskään vaadi muita lausekkeita.

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

    Jos yrität käyttää molempia raja ja offset tapahtuu seuraavaa:

    1. Offset ohittaa rivit alussa.
    2. Raja palauttaa seuraavien rivien määrän.

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

    11 tietorivistä (ensimmäinen on otsikko ja QUERY-funktio Google Sheetsissä tekee hyvää työtä ymmärtääkseen sen), offset ohittaa ensimmäiset 3 riviä. Limit palauttaa 3 seuraavaa riviä (alkaen 4. rivistä):

    Google Sheets QUERY - Tarra

    Google Sheets QUERY etiketti komennon avulla voit muuttaa sarakkeiden otsikkonimiä.

    Vinkki. Muut lausekkeet ovat vapaaehtoisia etiketti myös.

    Laita etiketti ja sen jälkeen sarakkeen tunniste ja uusi nimi. Jos nimeät muutaman sarakkeen uudelleen, erota jokainen uusi sarakkeen nimipari pilkulla:

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

    Muotoilu

    The muotoilu lausekkeen avulla on mahdollista muuttaa kaikkien sarakkeen arvojen muotoa. Sitä varten tarvitset halutun muodon takana olevan mallin.

    Vihje. Muotoilu lauseke voi myös sooloilla Google Sheets QUERY.

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

    Vihje. Mainitsin joitakin päivämäärämuotoja Google Sheets QUERY tässä blogikirjoituksessa. Muut muodot voidaan ottaa suoraan laskentataulukoista: Muotoilu> Numero> Lisää muotoiluja> Mukautettu numeroformaatti .

    Vaihtoehdot

    Tätä käytetään eräiden lisäasetusten määrittämiseen tulostietoja varten.

    Esimerkiksi sellainen komento kuin no_values palauttaa vain muotoillut solut.

    Nopein tapa rakentaa QUERY kaavat - Multiple Vlookup Matches

    Vaikka Google Sheetsin QUERY-toiminto on tehokas, sen käyttäminen saattaa vaatia opettelua. On eri asia havainnollistaa jokainen lauseke erikseen pienessä taulukossa kuin yrittää rakentaa kaikki oikein muutaman lausekkeen ja paljon suuremman taulukon avulla.

    Siksi päätimme pukea Google Sheets QUERYn käyttäjäystävälliseen käyttöliittymään ja tehdä siitä lisäosan.

    Miksi useita VLOOKUP-otteluita on parempi kuin kaavoja?

    No, lisäosan kanssa on ei todellakaan tarvitse :

    • selvittää mitään niistä lausekkeet Lisäosassa on todella helppo luoda paljon monimutkaisia ehtoja: niin monta kuin tarvitset, vaikka niiden järjestys on niin monta ottelua kuin tarvitset.

      Huomautus: Tällä hetkellä työkaluun on sisällytetty seuraavat lausekkeet: select, where, limit, ja offset Jos tehtäväsi vaatii myös muita lausekkeita, kommentoi alla - ehkä autat meitä parantamaan sitä ;)

    • osaavat syöttää operaattorit : valitse vain yksi pudotusvalikosta.
    • arvuutella oikea tapa syöttää päivämäärä ja kellonaika Lisäosan avulla voit syöttää ne kuten ennenkin taulukkolaskentataulukkosi paikallisuuden mukaan.

      Vihje. Työkalussa on aina saatavilla vihje, jossa on esimerkkejä eri tietotyypeistä.

    Koska bonus voit:

    • esikatselu sekä tulos ja kaava
    • tee nopeat säädöt teidän kriteereihinne
    • valitse paikka tulokselle
    • insert tulos on sekä QUERY kaava tai kuten arvot

    En vitsaile, katso itse. Vaikka tämä GIF on nopeutettu, kaikkien kriteerien hienosäätö ja lopputuloksen saaminen vei minulta alle minuutin:

    Jos olet tarpeeksi utelias, tässä on yksityiskohtainen video, jossa näytetään, miten lisäosa toimii:

    Toivon, että annat lisäosalle mahdollisuuden ja hankit sen Google Workspace Marketplace -palvelusta. Älä ujostele ja kerro palautetta, varsinkin jos siinä on jotain, mistä et pidä.

    Tutustu myös sen opetusohjelmaan tai kotisivulle.

    Michael Brown on omistautunut teknologian harrastaja, jolla on intohimo yksinkertaistaa monimutkaisia ​​prosesseja ohjelmistotyökalujen avulla. Yli vuosikymmenen kokemuksella teknologia-alalta hän on hionut taitojaan Microsoft Excelissä ja Outlookissa sekä Google Sheetsissä ja Docsissa. Michaelin blogi on omistettu jakamaan tietojaan ja asiantuntemustaan ​​muiden kanssa, ja se tarjoaa helposti seurattavia vinkkejä ja opetusohjelmia tuottavuuden ja tehokkuuden parantamiseksi. Olitpa kokenut ammattilainen tai aloittelija, Michaelin blogi tarjoaa arvokkaita oivalluksia ja käytännön neuvoja, joiden avulla saat kaiken irti näistä tärkeistä ohjelmistotyökaluista.