Kako koristiti funkciju Google Sheets QUERY – standardne klauzule i alternativni alat

  • Podijeli Ovo
Michael Brown

Ako već neko vrijeme pratite ovaj blog, možda se sjećate funkcije QUERY za Google tablice. Spomenuo sam to kao moguće rješenje za nekoliko slučajeva. Ali to je daleko od dovoljnog da se otkrije njegov puni potencijal. Danas je krajnje vrijeme da na pravi način upoznamo ovog superheroja proračunskih tablica. I pogodite što – jedan jednako vrijedan alat također će biti tu :)

Jeste li znali da se QUERY funkcija Google tablica smatra najmoćnijom u proračunskim tablicama? Njegova osebujna sintaksa pogoduje desecima različitih operacija. Pokušajmo rastaviti njegove dijelove kako bismo ih naučili jednom zauvijek, hoćemo li?

    Sintaksa funkcije QUERY Google tablica

    Na prvi pogled Google tablice QUERY su samo još jedna funkcija s 1 izbornim i 2 obavezna argumenta:

    =QUERY(podaci, upit, [zaglavlja])
    • podaci je raspon za obradu. Potreban. Ovdje je sve kristalno jasno.

      Napomena. Samo jedan mali podsjetnik koji je ovdje postavio Google: svaki stupac treba sadržavati jednu vrstu podataka: tekstualne, numeričke ili booleove. Ako postoje različite vrste, QUERY će raditi s onom koja se najčešće pojavljuje. Ostale vrste smatrat će se praznim ćelijama. Čudno, ali imajte to na umu.

    • upit je način obrade podataka . Potreban. Ovdje počinje sva zabava. Funkcija Google Sheets QUERY koristi poseban jezik za ovaj argument: Google Visualization APIkriteriji
    • odaberite mjesto za rezultat
    • umetnite rezultat kao QUERY formulu ili kao vrijednosti

    Ne šalim se, uvjerite se sami. Iako je ovaj GIF bio ubrzan, trebalo mi je manje od minute da fino podesim sve kriterije i dobijem rezultat:

    Ako ste dovoljno znatiželjni, evo detalja video koji prikazuje kako dodatak radi:

    Nadam se da ćete dati dodatku priliku i preuzeti ga s Google Workspace Marketplacea. Nemojte se sramiti i podijelite svoje povratne informacije, pogotovo ako vam se nešto ne sviđa.

    Također, slobodno pogledajte njegovu stranicu s uputama ili početnu stranicu.

    Jezik upita. Napisan je na način sličan SQL-u. U osnovi, to je skup posebnih klauzula (naredbi) koje se koriste da govore funkciji što treba učiniti: odabrati, grupirati po, ograničiti, itd.

    Napomena. Cijeli argument mora biti u dvostrukim navodnicima. Vrijednosti bi pak trebale biti stavljene u navodnike.

  • zaglavlja nije obavezno kada trebate navesti broj redaka zaglavlja u svojim podacima. Izostavite argument (kao što ja radim u nastavku), a Google tablice QUERY će ga pretpostaviti na temelju sadržaja vaše tablice.
  • Idemo sada dublje istražiti klauzule i što god one rade.

    Klauzule koje se koriste u formulama UPITA Google tablica

    Jezik upita sastoji se od 10 klauzula. Mogu vas uplašiti na prvi pogled, pogotovo ako niste upoznati sa SQL-om. Ali obećavam, kad ih jednom upoznate, dobit ćete moćno oružje za proračunske tablice na raspolaganju.

    Pokrit ću svaku klauzulu i dati primjere formula koristeći ovaj popis imaginarnih učenika i njihovih papirnatih predmeta :

    Da, ja sam jedan od onih čudaka koji misle da bi Pluton trebao biti planet :)

    Savjet. Unutar jedne QUERY funkcije Google tablica može se koristiti nekoliko klauzula. Ako ih sve ugnijezdite, svakako slijedite redoslijed njihovog pojavljivanja u ovom članku.

    Odaberi (svi ili određeni stupci)

    Prva klauzula – select – koristi se da kaže koje stupce trebate vratiti pomoću Google tablica QUERYs drugog lista ili tablice.

    Primjer 1. Odaberi sve stupce

    Da bi dohvatio svaki stupac, upotrijebi odaberi sa zvjezdicom – odaberi *

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

    Savjet. Ako izostavite parametar select , Google Sheets QUERY će prema zadanim postavkama vratiti sve stupce:

    =QUERY(Papers!A1:G11)

    Primjer 2. Odaberite određene stupce

    Za povlačenje samo određenih stupaca , navedite ih nakon klauzule select :

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

    Savjet. Stupci od interesa kopirat će se istim redoslijedom kojim ste ih spomenuli u formuli:

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

    Google tablice QUERY – Gdje klauzula

    Google Sheets QUERY gdje se koristi za postavljanje uvjeta prema podacima koje želite dobiti. Drugim riječima, djeluje kao filtar.

    Ako koristite ovu klauzulu, funkcija QUERY za Google tablice pretražit će stupce za vrijednosti koje ispunjavaju vaše uvjete i vratiti vam sva podudaranja.

    Savjet. Where može funkcionirati bez klauzule select .

    Kao i obično, za određivanje uvjeta, postoje skupovi posebnih operatora za vas:

    • jednostavni operatori usporedbe ( za numeričke vrijednosti ): =, , >, >=, <, <=
    • operatori složene usporedbe ( za nizove ): sadrži, počinje s, završava sa, odgovara, != (ne odgovara / nije jednako), kao što su .
    • logički operatori za kombinaciju nekoliko uvjeta : i, ili, ne .
    • operatori za prazno/ nije prazno : je null, nije null .

    Savjet. Ako ste uzrujani ili zabrinuti zbog ponovnog suočavanja s tako velikim brojem operatera, mi vas osjećamo. Naša Multiple Vlookup Matches će pronaći sva podudaranja i izgraditi QUERY formule u Google tablicama ako je potrebno.

    Da vidimo kako se ti operatori ponašaju u formulama.

    Primjer 1. Where s brojevima

    Dodat ću where u svoje Google tablice UPIT odozgo da biste dobili informacije o onim planetima koji imaju više od 10 mjeseca:

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

    Savjet. Također sam spomenuo stupac F za dohvaćanje samo kako bih bio siguran da je kriterij zadovoljen. Ali potpuno je neobavezno. Ne morate uključiti stupce s uvjetima u rezultat:

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

    Primjer 2. Gdje s tekstualnim nizovima

    • Želim vidjeti sve retke gdje je ocjena ili F ili F+ . Za to ću koristiti operator contains :

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

      Napomena. Ne zaboravite svoj tekst staviti u navodnike.

    • Da biste dobili sve retke samo s F , samo zamijenite contains znakom jednakosti (=):

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

    • Da biste provjerili radove koje tek treba predati (gdje nedostaje ocjena), provjerite stupac G za praznine:

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

    Primjer 3. Gdje s datumima

    Pogodite što: Google tablice QUERY su čak uspjele ukrotiti datume!

    Budući da proračunske tablice pohranjuju datume kao serijske brojeve, obično moratepribjeći pomoći posebnim funkcijama kao što su DATE ili DATEVALUE, YEAR, MONTH, TIME, itd.

    Ali QUERY je pronašao svoj put oko datuma. Da biste ih pravilno unijeli, jednostavno upišite riječ datum , a zatim dodajte sam datum u obliku gggg-mm-dd: datum '2020-01-01'

    Evo moje formule za dobivanje svih redaka s datumom govora prije 1. siječnja 2020.:

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

    Primjer 4. Kombinirajte nekoliko uvjeta

    Da biste upotrijebili određeno vremensko razdoblje kao kriterij, morat ćete kombinirati dva uvjeta.

    Pokušajmo dohvatiti one radove koji su dostavljeni u jesen 2019. Prvi kriterij trebao bi biti datum ili nakon 1. rujna 2019. , drugi — na dan ili prije 30. studenog 2019. :

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

    Ili, ja može odabrati radove na temelju ovih parametara:

    • prije 31. prosinca 2019. ( B )
    • imati A ili A+ kao ocjenu ( G sadrži 'A' )
    • ili B/B+ ( G sadrži 'B' )

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

    Savjet. Ako će vam glava već eksplodirati, nemojte još odustati. Postoji alat koji je savršeno sposoban za vas izraditi sve te formule, bez obzira na broj kriterija. Skočite odmah do kraja članka da biste ga upoznali.

    Google Sheets QUERY – Group By

    Google Sheets QUERY naredba group by koristi se za spajanje redaka. Međutim, trebali biste koristiti neke agregatne funkcije kako biste ih saželi.

    Napomena. Grupiraj prema uvijek mora slijediti klauzulu select .

    Nažalost, u mojoj tablici nema ništa za grupiranje jer nema ponavljajućih vrijednosti. Dopustite mi da to malo prilagodim.

    Pretpostavimo da sve radove trebaju pripremiti samo 3 učenika. Mogu pronaći najvišu ocjenu koju je svaki učenik dobio. Ali budući da su to slova, to je funkcija MIN koju bih trebao primijeniti na stupac G:

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

    Napomena. Ako ne koristite agregatnu funkciju ni s jednim stupcem u klauzuli select (stupac A u mom primjeru), morate ih duplicirati sve u group by klauzula.

    Google Sheets QUERY – Pivot

    Google Sheets QUERY klauzula pivot funkcionira obrnuto, ako mogu tako reći. Transponira podatke iz jednog stupca u red s novim stupcima, grupirajući druge vrijednosti u skladu s tim.

    Za one od vas koji se bave datumima, to može biti pravo otkriće. Moći ćete brzo pogledati sve različite godine iz tog izvornog stupca.

    Napomena. Kada je u pitanju pivot , svaki stupac koji se koristi u klauzuli select trebao bi biti pokriven agregatnom funkcijom. Inače, to bi trebalo biti spomenuto u grupi prema naredbi nakon vaše zaokretne točke .

    Zapamtite, moja tablica sada spominje samo 3 učenika. Natjerat ću funkciju da mi kaže koliko je izvješća napravio svaki učenik:

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

    Google tablice QUERY – Poredaj po

    Ovaj je prilično lagan :) Naviknut jeporedajte ishod prema vrijednostima u određenim stupcima.

    Savjet. Sve prethodne klauzule nisu obavezne kada se koristi poređaj po . Koristim select da vratim manje stupaca u svrhu demonstracije.

    Vratimo se na moju izvornu tablicu i razvrstajmo izvješća po datumu govora.

    Ova sljedeća formula QUERY Google tablica dovest će mi stupce A, B i C, ali će ih u isto vrijeme razvrstati po datumu u stupac B:

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

    Ograničenje

    Što ako vam kažem, ne morate unositi svaki redak u rezultat? Što ako vam kažem da Google tablice QUERY mogu izvući samo određenu količinu prvih podudaranja koje nađe?

    Pa, klauzula limit osmišljena je da vam pomogne u tome. Ograničava broj redaka za vraćanje zadanim brojem.

    Savjet. Slobodno koristite limit bez drugih prethodnih klauzula.

    Ova formula će pokazati prvih 5 redaka gdje stupac s ocjenama sadrži oznaku (nije prazna):

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

    Offset

    Ova je klauzula na neki način suprotna prethodnoj. Dok vam limit daje broj redaka koje navedete, offset ih preskače, dohvaćajući ostatak.

    Savjet. Pomak također ne zahtijeva nikakve druge klauzule.

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

    Ako pokušate koristiti i limit i offset , dogodit će se sljedeće:

    1. Offset će preskočiti retke na početku.
    2. Limit će vratiti brojsljedeće retke.

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

    Od 11 redaka podataka (prvi je zaglavlje, a funkcija QUERY u Google tablicama dobro to razumije), offset preskače prvi 3 reda. Limit vraća 3 sljedeća retka (počevši od 4.):

    Google Sheets QUERY – Oznaka

    Google Sheets QUERY label naredba omogućuje promjenu naziva zaglavlja stupaca.

    Savjet. Ostale klauzule su također izborne za oznaku .

    Prvo stavite oznaku , a zatim ID stupca i novi naziv. Ako preimenujete nekoliko stupaca, odvojite svaki novi par oznake stupca zarezom:

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

    Format

    The format klauzula omogućuje promjenu formata svih vrijednosti u stupcu. Za to će vam trebati uzorak koji stoji iza željenog formata.

    Savjet. Klauzula o formatu također može igrati solo u Google tablicama QUERY.

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

    Savjet. Spomenuo sam neke formate datuma za Google tablice QUERY u ovom postu na blogu. Ostali formati mogu se preuzeti izravno iz proračunskih tablica: Format > Broj > Više formata > Prilagođeni format broja .

    Opcije

    Ova se koristi za postavljanje nekih dodatnih postavki za podatke o ishodu.

    Na primjer, naredba kao što je no_values vratit će samo formatirane ćelije.

    Najbrži način za izradu QUERY formula – Više podudaranja Vlookupa

    Koliko god moćna bila funkcija QUERY u Google tablicama,može zahtijevati krivulju učenja da bi se uhvatili. Jedna je stvar ilustrirati svaku klauzulu zasebno na maloj tablici, a sasvim druga stvar pokušati sve ispravno sastaviti s nekoliko klauzula i puno većom tablicom.

    Zato smo odlučili obući Google tablice QUERY u korisničko sučelje i učinite ga dodatkom.

    Zašto je Multiple VLOOKUP Matches bolje od formula?

    Pa, s dodatkom nema apsolutne potrebe za :

    • odgonetnite bilo što o tim klauzulama . Stvarno je jednostavno stvoriti puno složenih uvjeta u dodatku: onoliko koliko vam je potrebno unatoč njihovom redoslijedu da dohvatite onoliko podudaranja koliko vam je potrebno.

      Napomena. Trenutno su sljedeće klauzule ugrađene u alat: select, where, limit, i offset . Ako vaš zadatak zahtijeva i druge klauzule, komentirajte ispod – možda ćete nam pomoći da se poboljšamo ;)

    • znati upisati operatore : samo odaberite jedan iz padajući popis.
    • zagonetka oko ispravnog načina unosa datuma i vremena . Dodatak vam omogućuje da ih unesete kao i prije na temelju lokalne postavke vaše proračunske tablice.

      Savjet. U alatu je uvijek dostupan savjet s primjerima različitih vrsta podataka.

    Kao bonus , moći ćete:

    • pregledati oba rezultat i formula
    • čine brze prilagodbe vašem

    Michael Brown predani je tehnološki entuzijast sa strašću za pojednostavljivanjem složenih procesa pomoću softverskih alata. S više od desetljeća iskustva u tehnološkoj industriji, usavršio je svoje vještine u Microsoft Excelu i Outlooku, kao i Google tablicama i dokumentima. Michaelov blog posvećen je dijeljenju znanja i stručnosti s drugima, pružajući savjete i upute koje je lako slijediti za poboljšanje produktivnosti i učinkovitosti. Bez obzira jeste li iskusni profesionalac ili početnik, Michaelov blog nudi vrijedne uvide i praktične savjete za izvlačenje maksimuma iz ovih osnovnih softverskih alata.