Efnisyfirlit
Ef þú hefur fylgst með þessu bloggi í nokkurn tíma gætirðu munað eftir QUERY aðgerðinni fyrir Google Sheets. Ég nefndi það sem hugsanlega lausn í nokkrum málum. En það er langt frá því að vera nóg til að afhjúpa alla möguleika þess. Í dag er kominn tími til að við kynnumst þessari töflureikni ofurhetju almennilega. Og gettu hvað – eitt jafn athyglisvert tól verður líka :)
Vissir þú að Google Sheets QUERY aðgerðin er talin vera öflugasta aðgerðin í töflureiknum? Sérkennileg setningafræði þess styður tugi mismunandi aðgerða. Við skulum reyna að brjóta niður hluta þess til að læra þá í eitt skipti fyrir öll, eigum við það?
Setjafræði Google Sheets QUERY virka
Við fyrstu sýn er Google Sheets QUERY bara önnur aðgerð með 1 valfrjálsum og 2 nauðsynlegum rökum:
=QUERY(gögn, fyrirspurn, [hausar])- gögn er sviðið sem á að vinna úr. Áskilið. Hér er allt kristaltært.
Athugið. Aðeins ein lítil áminning hér sem Google hefur sett: hver dálkur ætti að innihalda eina tegund gagna: texta, töluleg eða boolean. Ef það eru mismunandi gerðir mun QUERY vinna með þeirri sem kemur mest fyrir. Aðrar gerðir verða taldar tómar hólf. Skrítið, en hafðu það í huga.
- fyrirspurn er leiðin til að vinna úr gögnunum . Áskilið. Hér byrjar allt fjörið. Google Sheets QUERY virka notar sérstakt tungumál fyrir þessa röksemdafærslu: Google Visualization APIskilyrði
- veljið stað fyrir niðurstöðuna
- settu inn niðurstöðuna sem bæði QUERY formúlu eða sem gildi
Ég er ekki að grínast, sjáið sjálfur. Þó að þetta GIF hafi verið hraðað tók það mig innan við mínútu að fínstilla öll viðmið og fá niðurstöðuna:
Ef þú ert nógu forvitinn, þá er hér ítarlegt myndband sem sýnir hvernig viðbótin virkar:
Ég vona að þú gefir viðbótinni tækifæri og færð hana frá Google Workspace Marketplace. Ekki vera feimin og deildu athugasemdum þínum, sérstaklega ef það er eitthvað við það sem þér líkar ekki við.
Einnig skaltu ekki hika við að kíkja á kennslusíðuna eða heimasíðuna hennar.
Fyrirspurnartungumál. Það er skrifað á svipaðan hátt og SQL. Í grundvallaratriðum er þetta sett af sérstökum setningum (skipunum) sem notuð eru til að segja aðgerðinni hvað hún á að gera: velja, flokka eftir, takmarka osfrv.Athugið. Öll rökin verða að vera sett innan tveggja gæsalappa. Gildi ættu aftur á móti að vera vafin inn í gæsalappir.
Nú skulum við kafa dýpra í ákvæðin og hvað sem þeir gera.
Klausur notaðar í Google Sheets QUERY formúlum
Tungumál fyrirspurna samanstendur af 10 ákvæðum. Þeir kunna að hræða við fyrstu sýn, sérstaklega ef þú ert ekki kunnugur SQL. En ég lofa, þegar þú hefur kynnst þeim muntu fá öflugt töflureiknisvopn til umráða.
Ég ætla að fara yfir hverja klausu og gefa formúludæmi með þessum lista yfir ímyndaða nemendur og pappírsgreinar þeirra. :
Já, ég er einn af þessum furðufuglum sem halda að Plútó eigi að vera pláneta :)
Ábending. Hægt er að nota nokkrar setningar innan einnar Google Sheets QUERY aðgerð. Ef þú hreiður þá alla, vertu viss um að fylgja röð útlits þeirra í þessari grein.
Velja (allir eða sérstakir dálkar)
Fyrsta ákvæðið – velja – er notað til að segja hvaða dálkum þú þarft að skila með Google Sheets QUERYúr öðru blaði eða töflu.
Dæmi 1. Veldu alla dálka
Til að sækja hvern og einn dálk skaltu nota velja með stjörnu – velja *
=QUERY(Papers!A1:G11,"select *")
Ábending. Ef þú sleppir veldu færibreytunni mun Google Sheets QUERY skila öllum dálkum sjálfgefið:
=QUERY(Papers!A1:G11)
Dæmi 2. Veldu sérstaka dálka
Til að draga aðeins tiltekna dálka , skráðu þau á eftir velja ákvæðinu:
=QUERY(Papers!A1:G11, "select A,B,C")
Ábending. Áhugadálkarnir verða afritaðir í sömu röð og þú nefnir þá í formúlunni:
=QUERY(Papers!A1:G11, "select C,B,A")
Google Sheets QUERY – Where clause
Google Blað QUERY þar sem er notað til að stilla skilyrðin fyrir gögnunum sem þú vilt fá. Með öðrum orðum, það virkar sem sía.
Ef þú notar þessa klausu mun QUERY virka fyrir Google Sheets leita í dálkum að gildum sem uppfylla skilyrði þín og sækja allar samsvörun til þín.
Ábending. Hvar getur virkað án velja ákvæðisins.
Eins og venjulega, til að tilgreina skilyrði, eru sett af sérstökum rekstraraðilum fyrir þig:
- einfaldir samanburðaraðgerðir ( fyrir tölugildi ): =, , >, >=, <, <=
- flóknir samanburðaraðgerðir ( fyrir strengi ): inniheldur, byrjar á, endar með, samsvarar, != (passar ekki við / samsvarar ekki), eins og .
- rökrænir rekstraraðilar til að sameina saman nokkur skilyrði : og, eða, ekki .
- rekstraraðilar fyrir eyða/ ekki tómt : er núll, er ekki núll .
Ábending. Ef þú ert í uppnámi eða áhyggjur af því að þurfa að takast á við svo mikinn fjölda rekstraraðila aftur, þá finnum við fyrir þér. Margar Vlookup samsvörun okkar munu finna allar samsvörun og búa til QUERY formúlur í Google Sheets fyrir þig ef þörf krefur.
Við skulum sjá hvernig þessir rekstraraðilar haga sér í formúlum.
Dæmi 1. Hvar með tölustöfum
Ég mun bæta hvar við Google töflurnar mínar SPURÐU að ofan til að fá upplýsingar um þær plánetur sem hafa fleiri en 10 tungl:
=QUERY(Papers!A1:G11,"select A,B,C,F where F>=10")
Ábending. Ég nefndi líka dálk F til að sækja bara til að tryggja að viðmiðunin sé uppfyllt. En það er algjörlega valfrjálst. Þú þarft ekki að setja dálka með skilyrðum inn í niðurstöðuna:
=QUERY(Papers!A1:G11,"select A,B,C where F>=10")
Dæmi 2. Hvar með textastrengi
- Ég vil sjá allar línur þar sem einkunnin er annað hvort F eða F+ . Ég mun nota inniheldur stjórnanda fyrir það:
=QUERY(Papers!A1:G11,"select A,B,C,G where G contains 'F'")
Athugið. Ekki gleyma að umkringja textann þinn með gæsalöppum.
- Til að fá allar línur eingöngu með F skaltu bara skipta út inniheldur fyrir jöfnunarmerki (=):
=QUERY(Papers!A1:G11,"select A,B,C,G where G="F"")
- Til að athuga blöðin sem á eftir að skila (þar sem einkunn vantar), athugaðu dálk G fyrir eyður:
=QUERY(Papers!A1:G11,"select A,B,C,G where G is null'")
Dæmi 3. Hvar með dagsetningum
Giska á hvað: Google Sheets QUERY hefur meira að segja tekist að temja dagsetningar!
Þar sem töflureiknar geyma dagsetningar sem raðnúmer, þarftu venjulega aðgrípa til hjálpar sérstakra aðgerða eins og DAGSETNING eða DAGSETNINGU, ÁR, MÁNUÐUR, TÍMA o.s.frv.
En QUERY hefur fundið leið sína í kringum dagsetningar. Til að slá þær inn á réttan hátt, sláðu einfaldlega inn orðið dagsetning og bættu svo við dagsetningunni sjálfri sem er yyyy-mm-dd: date '2020-01-01'
Hér er formúlan mín til að fá allar línur með ræðudagsetningu fyrir 1. janúar 2020:
=QUERY(Papers!A1:G11,"select A,B,C where B
Dæmi 4. Sameina nokkur skilyrði
Til að nota ákveðinn tíma sem viðmiðun þarftu að sameina tvö skilyrði.
Við skulum reyna að sækja þau blöð sem voru afhent haustið 2019. Fyrstu viðmiðin ættu að vera dagsetning á eða eftir 1. september 2019 , annað — á eða fyrir 30. nóvember 2019 :
=QUERY(Papers!A1:G11,"select A,B,C where B>=date '2019-09-01' and B<=date '2019-11-30'")
Eða, ég getur valið ritgerðir út frá þessum breytum:
- fyrir 31. desember 2019 ( B
) - hafa annað hvort A eða A+ sem einkunn ( G inniheldur 'A' )
- eða B/B+ ( G inniheldur 'B' )
=QUERY(Papers!A1:G11,"select A,B,C,G where B
Ábending. Ef höfuðið á þér er nú þegar að springa skaltu ekki gefast upp strax. Það er til tól sem er fullkomlega fær um að búa til allar þessar formúlur fyrir þig, sama hversu mörg viðmið eru. Farðu beint í lok greinarinnar til að kynnast henni.
Google Sheets QUERY – Group eftir
Google Sheets QUERY group by skipunin er notuð til að sameina línur. Hins vegar ættir þú að nota nokkrar samanlagðar aðgerðir til að draga þær saman.
Athugið. Hópa eftir verður alltaf að fylgja velja ákvæðinu.
Því miður er ekkert að flokka í töfluna mína þar sem það eru engin endurtekin gildi. Svo leyfðu mér að laga það aðeins.
Segjum sem svo að öll blöðin séu eingöngu unnin af 3 nemendum. Ég get fundið hæstu einkunn sem hver nemandi fékk. En þar sem þetta eru stafir þá er það MIN fallið sem ég ætti að nota á dálk G:
=QUERY(Papers!A1:G11,"select A,min(G) group by A")
Athugið. Ef þú notar ekki samansafnað fall með neinum dálki í velja klausunni (dálkur A í mínu dæmi), verður þú að afrita þá alla í hópnum með ákvæði.
Google Sheets QUERY – Pivot
Google Sheets QUERY pivot ákvæði virkar á hinn veginn, ef ég má orða það þannig. Það flytur gögn úr einum dálki í röð með nýjum dálkum og flokkar önnur gildi í samræmi við það.
Fyrir ykkur sem fást við dagsetningar getur það verið raunveruleg uppgötvun. Þú munt geta horft fljótt á öll hin aðskildu ár frá þessum upprunadálki.
Athugið. Þegar það kemur að pivot , ætti hver dálkur sem notaður er í select setningunni að vera þakinn uppsafnaðarfalli. Annars ætti að nefna það í hópnum með skipun á eftir pivot þínum.
Mundu að í töflunni minni eru nú aðeins 3 nemendur. Ég ætla að láta fallið segja mér hversu margar skýrslur hver nemandi gerði:
=QUERY(Papers!A1:G11,"select count(G) pivot A")
Google Sheets QUERY – Panta eftir
Þessi er frekar auðveld :) Hann er vanurflokkaðu niðurstöðuna eftir gildunum í ákveðnum dálkum.
Ábending. Allar fyrri setningar eru valfrjálsar þegar röðun eftir er notuð. Ég nota velja til að skila færri dálkum fyrir sýnikennslu.
Við skulum fara aftur í upphaflegu töfluna mína og raða skýrslum eftir ræðudagsetningu.
Þessi næsta Google Sheets QUERY formúla mun fá mér dálka A, B og C, en á sama tíma raða þeim eftir dagsetningu í dálkur B:
=QUERY(Papers!A1:G11,"select A,B,C order by B")
Takmark
Hvað ef ég segði þér, þú þarft ekki að koma með hverja og eina röð inn í niðurstaðan? Hvað ef ég segði þér að Google Sheets QUERY getur aðeins dregið tiltekið magn af fyrstu samsvörunum sem hún finnur?
Jæja, takmarka ákvæðið er hannað til að hjálpa þér með það. Það takmarkar fjölda lína sem á að skila með uppgefnu númeri.
Ábending. Ekki hika við að nota takmark án annarra fyrri ákvæða.
Þessi formúla mun sýna fyrstu 5 línurnar þar sem dálkurinn með einkunnum inniheldur merki (er ekki tóm):
=QUERY(Papers!A1:G11,"select A,B,C,G where G is not null limit 5")
Offset
Þessi klausa er nokkuð andstæð þeirri fyrri. Á meðan takmark gefur þér fjölda lína sem þú tilgreinir, sleppir offset þeim og sækir afganginn.
Ábending. Offset krefst heldur ekki neinna annarra ákvæða.
=QUERY(Papers!A1:G11,"select A,B,C,G where G is not null offset 5")
Ef þú reynir að nota bæði limit og offset mun eftirfarandi gerast:
- Offset mun sleppa línum í upphafi.
- Limit mun skila fjölda afeftirfarandi línur.
=QUERY(Papers!A1:G11,"select A,B,C,G where G is not null limit 3 offset 3")
Af 11 línum af gögnum (sú fyrsta er haus og QUERY aðgerð í Google Sheets gerir gott starf með því að skilja það), offset sleppir þeirri fyrstu 3 raðir. Limit skilar 3 næstu línum (frá 4.):
Google Sheets QUERY – Label
Google Sheets QUERY label skipun gerir þér kleift að breyta heitum hausa á dálkunum.
Ábending. Aðrar setningar eru einnig valfrjálsar fyrir merki .
Settu merkið fyrst og síðan dálkkennið og nýtt nafn. Ef þú endurnefnir nokkra dálka skaltu aðgreina hvert nýtt par af dálkamerki með kommu:
=QUERY(Papers!A1:G11,"select A,B,C label A 'Name', B 'Date'")
Format
The snið ákvæði gerir það mögulegt að breyta sniði allra gilda í dálki. Til þess þarftu mynstur sem stendur fyrir aftan æskilegt snið.
Ábending. Sniðsákvæðið getur einnig spilað einleik í Google Sheets QUERY.
=QUERY(Papers!A1:G11,"select A,B,C limit 3 format B 'mm-dd, yyyy, ddd'")
Ábending. Ég nefndi nokkur dagsetningarsnið fyrir Google Sheets QUERY í þessari bloggfærslu. Önnur snið er hægt að taka beint úr töflureiknum: Format > Númer > Fleiri snið > Sérsniðið númerasnið .
Valkostir
Þessi er notaður til að stilla nokkrar viðbótarstillingar fyrir niðurstöðugögnin.
Til dæmis mun skipun eins og engin_gildi skila aðeins sniðnum frumum.
Fljótlegasta leiðin til að búa til QUERY formúlur – Margfeldi Vlookup Matches
Hversu öflug QUERY aðgerðin í Google Sheets er,það gæti þurft námsferil til að ná tökum á. Það er eitt að myndskreyta hverja klausu fyrir sig á litlu borði og allt annað að reyna að byggja allt rétt með nokkrum setningum og miklu stærri töflu.
Þess vegna ákváðum við að klæða Google Sheets QUERY upp í notendavænt viðmót og gerðu það að viðbótinni.
Hvers vegna Multiple VLOOKUP Matches er betri en formúlur?
Jæja, með viðbótinni er algerlega óþarfi að :
- finna út eitthvað um þessi ákvæði . Það er mjög auðvelt að búa til margar flóknar aðstæður í viðbótinni: eins margar og þú þarft þrátt fyrir pöntun þeirra til að sækja eins margar samsvörun og þú þarft.
Athugið. Í augnablikinu voru eftirfarandi ákvæði felld inn í tólið: velja, hvar, takmörk, og jöfnun . Ef verkefni þitt krefst annarra ákvæða líka, vinsamlegast skrifaðu athugasemd hér að neðan - kannski hjálpar þú okkur að bæta okkur ;)
- vita hvernig á að slá inn rekstraraðila : veldu bara þann úr a fellilistanum.
- púsla yfir rétta leið til að slá inn dagsetningu og tíma . Viðbótin gerir þér kleift að slá þær inn eins og þú varst vanur, byggt á töflureikninum þínum.
Ábending. Það er alltaf vísbending tiltæk í tólinu með dæmum um mismunandi gagnagerðir.
Sem bónus muntu geta:
- forskoðað bæði niðurstaðan og formúlan
- gera fljótlegar breytingar á