Turinys
Jei jau kurį laiką sekate šį tinklaraštį, tikriausiai prisimenate "Google Sheets" funkciją QUERY. Minėjau ją kaip galimą kelių atvejų sprendimą. Tačiau to toli gražu nepakanka, kad atskleistume visą jos potencialą. Šiandien pats laikas tinkamai susipažinti su šiuo skaičiuoklės superherojumi. Ir spėkite ką - ten bus ir vienas ne mažiau dėmesio vertas įrankis :)
Ar žinojote, kad "Google Sheets" funkcija QUERY laikoma galingiausia skaičiuoklės funkcija? Jos savita sintaksė leidžia atlikti dešimtis skirtingų operacijų. Pabandykime išskaidyti jos dalis ir išmokti jas visiems laikams, ar ne?
"Google Sheets" funkcijos QUERY sintaksė
Iš pirmo žvilgsnio "Google Sheets QUERY" yra tik dar viena funkcija su 1 neprivalomu ir 2 privalomais argumentais:
=QUERY(duomenys, užklausa, [antraštės])- duomenys yra apdorojamas diapazonas... Reikalinga. Čia viskas visiškai aišku.
Pastaba. Čia tik vienas nedidelis "Google" nustatytas priminimas: kiekviename stulpelyje turi būti vieno tipo duomenys: tekstiniai, skaitiniai arba loginiai. Jei yra skirtingų tipų, QUERY dirbs su tuo, kuris pasitaiko dažniausiai. Kiti tipai bus laikomi tuščiais langais. Keista, bet turėkite tai omenyje.
- užklausa yra būdas apdoroti duomenys ... Reikalaujama. Čia prasideda visas įdomumas. "Google Sheets" QUERY funkcija šiam argumentui naudoja specialią kalbą: "Google" vizualizavimo API užklausų kalba Iš esmės tai yra specialių sąlygų (komandų) rinkinys, naudojamas funkcijai nurodyti, ką ji turi daryti: išrinkti, grupuoti pagal, apriboti ir t. t.
Pastaba. Visas argumentas turi būti pateiktas dvigubose kabutėse. Savo ruožtu vertės turi būti pateiktos kabutėse.
- antraštės yra neprivalomas, kai reikia nurodyti antraštės eilučių skaičių jūsų duomenyse. Nepateikite argumento (kaip aš darau toliau), ir "Google Sheets QUERY" jį numanys pagal jūsų lentelės turinį.
Dabar giliau panagrinėkime išlygas ir jų paskirtį.
"Google Sheets" QUERY formulėse naudojami straipsniai
Užklausų kalbą sudaro 10 klaustukų. Iš pirmo žvilgsnio jie gali išgąsdinti, ypač jei nesate susipažinę su SQL kalba. Tačiau pažadu, kad kai su jais susipažinsite, jūsų žinioje atsiras galingas skaičiuoklės ginklas.
Ketinu aptarti kiekvieną sąlygą ir pateikti formulės pavyzdžių, naudodamasis šiuo įsivaizduojamų mokinių ir jų rašto darbų temų sąrašu:
Taip, esu vienas iš tų keistuolių, kurie mano, kad Plutonas turėtų būti planeta :)
Patarimas. Vienoje "Google Sheets QUERY" funkcijoje galima naudoti kelis straipsnius. Jei juos visus įterpsite, būtinai laikykitės šiame straipsnyje nurodytos jų atsiradimo tvarkos.
Pasirinkite (visus arba tam tikrus stulpelius)
Pirmasis punktas - pasirinkite - naudojamas nurodyti, kokius stulpelius reikia grąžinti naudojant "Google Sheets" užklausą iš kito lapo ar lentelės.
1 pavyzdys. Pasirinkite visus stulpelius
Norėdami gauti kiekvieną stulpelį, naudokite pasirinkite su žvaigždute - pasirinkite *
=QUERY(Papers!A1:G11, "select *")
Patarimas. Jei praleisite pasirinkite parametras, "Google Sheets QUERY bus grąžinti visus stulpelius pagal numatytuosius nustatymus:
=QUERY(Papers!A1:G11)
2 pavyzdys. Pasirinkite konkrečius stulpelius
Jei norite ištraukti tik tam tikrus stulpelius, išvardykite juos po pasirinkite punktas:
=QUERY(Papers!A1:G11, "select A,B,C")
Patarimas. Dominantys stulpeliai bus nukopijuoti ta pačia tvarka, kuria juos paminėjote formulėje:
=QUERY(Papers!A1:G11, "select C,B,A")
"Google Sheets" užklausa - Kur sąlyga
"Google" lentelės užklausa kur naudojamas norint nustatyti sąlygas norimiems gauti duomenims. Kitaip tariant, jis veikia kaip filtras.
Jei naudojate šią sąlygą, QUERY funkcija "Google Sheets" bus ieškoti stulpelius reikšmių, kurios atitinka jūsų sąlygas ir atnešti visus atitikmenis atgal į jus.
Patarimas. Kur gali veikti be pasirinkite punktas.
Kaip įprasta, sąlygoms nurodyti yra specialių rinkinių operatoriai jums:
- paprasti palyginimo operatoriai ( skaitinėms vertėms ): =, ,>,>=, <, <=
- sudėtingi palyginimo operatoriai ( eilutėms ): yra, prasideda, baigiasi, atitinka, != (neatitinka / nėra lygus), kaip .
- loginiai operatoriai derinti kelias sąlygas. : ir, arba, ne .
- operatoriai tuščia / ne tuščia : is null, is not null .
Patarimas. Jei esate nusiminę arba nerimaujate, kad vėl teks susidurti su tokiu didžiuliu operatorių skaičiumi, mes jus užjaučiame. Mūsų "Multiple Vlookup Matches" suras visus atitikmenis ir, jei reikia, sukurs QUERY formules "Google Sheets" už jus.
Pažiūrėkime, kaip šie operatoriai veikia formulėse.
1 pavyzdys. Kur su skaičiais
Pridėsiu kur į mano "Google" lentelių užklausą, pateiktą pirmiau, kad gautumėte informaciją apie tas planetas, kurios turi daugiau nei 10 mėnulių:
=QUERY(Papers!A1:G11, "select A,B,C,F where F>=10")
Patarimas. Taip pat paminėjau stulpelį F, kurį reikia išrinkti tik tam, kad įsitikintumėte, jog kriterijus tenkinamas. Tačiau tai visiškai neprivaloma. Neprivalote į rezultatą įtraukti stulpelių su sąlygomis:
=QUERY(Papers!A1:G11, "select A,B,C where F>=10")
2 pavyzdys. Kur su teksto eilutėmis
- Noriu matyti visas eilutes, kuriose klasė yra F arba F+ . Naudosiu yra operatorius:
=QUERY(Papers!A1:G11, "pasirinkite A,B,C,G kur G yra 'F'")
Pastaba: nepamirškite teksto apvesti kabutėmis.
- Norėdami gauti visas eilutes su F tiesiog pakeiskite yra su lygybės ženklu (=):
=QUERY(Papers!A1:G11, "pasirinkite A,B,C,G kur G="F"")
- Jei norite patikrinti dar nepristatytus darbus (kai trūksta įvertinimo), pažymėkite stulpelį G tuščiaviduriams langams:
=QUERY(Papers!A1:G11, "pasirinkite A,B,C,G kur G yra nulis'")
3 pavyzdys. Kur su datomis
Spėkite ką: "Google Sheets QUERY" netgi pavyko sutramdyti datas!
Kadangi skaičiuoklėse datos saugomos kaip eilės numeriai, dažniausiai tenka naudotis specialiomis funkcijomis, pavyzdžiui, DATA arba DATEVALUE, YEAR, MONTH, TIME ir kt.
Tačiau QUERY rado būdą, kaip apeiti datas. Norėdami jas tinkamai įvesti, tiesiog įveskite žodį data ir pridėkite pačią datą, suformatuotą kaip yyyy-mm-dd: data "2020-01-01
Štai mano formulė, pagal kurią gaunamos visos eilutės, kuriose kalbos data yra iki 2020 m. sausio 1 d:
=QUERY(Papers!A1:G11, "select A,B,C where B
4 pavyzdys. Kelių sąlygų derinimas
Norėdami kaip kriterijų naudoti tam tikrą laikotarpį, turite sujungti dvi sąlygas.
Pabandykime rasti tuos dokumentus, kurie buvo pristatyti 2019 m. rudenį. Pirmasis kriterijus turėtų būti data 2019 m. rugsėjo 1 d. arba vėliau , antrasis - 2019 m. lapkričio 30 d. arba anksčiau :
=QUERY(Papers!A1:G11, "select A,B,C where B>=date '2019-09-01' and B<=date '2019-11-30'")
Arba galiu atrinkti dokumentus pagal šiuos parametrus:
- iki 2019 m. gruodžio 31 d. ( B
) - turi A arba A+ įvertinimą ( G yra "A )
- arba B/B+ ( G yra "B )
=QUERY(Papers!A1:G11, "select A,B,C,G kur B
Patarimas. Jei jūsų galva jau tuoj sprogs, dar nepasiduokite. Yra įrankis, kuris puikiai sugeba už jus sudaryti visas šias formules, nesvarbu, kiek kriterijų būtų. Pereikite prie pat straipsnio pabaigos ir susipažinkite su juo.
"Google" lentelės užklausa - Grupė pagal
"Google" lentelės užklausa grupė pagal komanda naudojama eilutėms sujungti. Tačiau, norėdami jas apibendrinti, turėtumėte naudoti tam tikras suvestines funkcijas.
Pastaba. Grupė pagal visada turi būti laikomasi pasirinkite punktas.
Deja, mano lentelėje nėra ką grupuoti, nes nėra pasikartojančių reikšmių. Taigi leiskite man ją šiek tiek pakoreguoti.
Tarkime, visus darbus turi parengti tik 3 mokiniai. Galiu rasti kiekvieno mokinio gautą aukščiausią įvertinimą. Bet kadangi jie yra raidės, tai MIN funkciją turėčiau taikyti stulpeliui G:
=QUERY(Papers!A1:G11, "select A,min(G) group by A")
Pastaba. Jei suvestinės funkcijos nenaudojate su bet kuriuo stulpeliu pasirinkite sąlyga (stulpelis A mano pavyzdyje), turite juos visus dubliuoti grupė pagal punktas.
"Google" lentelės užklausa - Pivot
"Google" lentelės užklausa šarnyras Klauzulė veikia atvirkščiai, jei galima taip pasakyti. Ji perkelia duomenis iš vieno stulpelio į eilutę su naujais stulpeliais, atitinkamai sugrupuodama kitas reikšmes.
Tiems, kurie dirba su datomis, tai gali būti tikras atradimas. Iš šio šaltinio stulpelio galėsite greitai peržvelgti visus skirtingus metus.
Pastaba. Kai kalbama apie šarnyras , kiekvienas stulpelis, naudojamas pasirinkite sąlyga turėtų būti įtraukta į suvestinę funkciją. Kitu atveju ji turėtų būti paminėta grupė pagal komandą po jūsų šarnyras .
Atminkite, kad mano lentelėje dabar minimi tik 3 mokiniai. Ketinu padaryti taip, kad funkcija man pasakytų, kiek ataskaitų parengė kiekvienas mokinys:
=QUERY(Papers!A1:G11, "select count(G) pivot A")
"Google" lentelės užklausa - Užsakyti pagal
Tai gana paprasta :) Jis naudojamas rezultatams rūšiuoti pagal tam tikrų stulpelių reikšmes.
Patarimas. Visi ankstesni punktai yra neprivalomi, kai naudojamas užsakymas pagal . Aš naudoju pasirinkite demonstravimo tikslais grąžinti mažiau stulpelių.
Grįžkime į pradinę lentelę ir surūšiuokime ataskaitas pagal kalbos datą.
Šis kitas "Google Sheets" užklausos formulė bus man stulpelius A, B ir C, bet tuo pačiu metu bus rūšiuoti juos pagal datą stulpelyje B:
=QUERY(Papers!A1:G11, "select A,B,C order by B")
Apribojimas
Ką daryti, jei pasakyčiau, kad nereikia į rezultatą įtraukti kiekvienos eilutės? Ką daryti, jei pasakyčiau, kad "Google Sheets QUERY" gali ištraukti tik tam tikrą pirmųjų rastų atitikmenų kiekį?
Gerai, kad riba sąlyga skirta padėti jums tai padaryti. Ji apriboja grąžinamų eilučių skaičių nurodytu skaičiumi.
Patarimas. riba be kitų ankstesnių punktų.
Ši formulė parodys pirmąsias 5 eilutes, kurių stulpelyje su pažymiais yra pažymys (jis nėra tuščias):
=QUERY(Papers!A1:G11, "pasirinkite A,B,C,G kur G nėra nulis riba 5")
Įstrižas
Ši sąlyga yra tarsi priešinga ankstesnei. Nors riba gausite nurodytą eilučių skaičių, kompensacija juos praleidžia, o likusius surenka.
Patarimas. Įstrižas taip pat nereikia jokių kitų nuostatų.
=QUERY(Papers!A1:G11, "pasirinkite A,B,C,G kur G nėra nulis įskaityti 5")
Jei bandysite naudoti abu riba ir kompensacija , įvyks šie įvykiai:
- Įstrižas bus praleistos eilučių pradžios eilutės.
- Apribojimas bus grąžinamas šių eilučių skaičius.
=QUERY(Papers!A1:G11, "pasirinkite A,B,C,G kur G nėra nulis riba 3 kompensacija 3")
Iš 11 duomenų eilučių (pirmoji yra antraštė, o "Google Sheets" funkcija QUERY tai puikiai supranta), kompensavimas praleidžia pirmąsias 3 eilutes. Riba grąžina 3 kitas eilutes (pradedant 4-ąja):
"Google" lentelės užklausa - Etiketė
"Google" lentelės užklausa etiketė komanda leidžia keisti stulpelių antraščių pavadinimus.
Patarimas. Kitos išlygos neprivalomos etiketė taip pat.
Įdėkite etiketė pirmiausia įrašykite stulpelio ID ir naują pavadinimą. Jei pervadinate kelis stulpelius, kiekvieną naują stulpelio pavadinimo porą atskirkite kableliu:
=QUERY(Papers!A1:G11, "select A,B,C etiketė A 'Vardas', B 'Data'")
Formatas
Svetainė formatas sąlyga leidžia pakeisti visų stulpelio reikšmių formatą. Tam reikės šablono, kuris stovi už norimo formato.
Patarimas. Formato sąlyga taip pat gali būti naudojama "Google Sheets" užklausoje.
=QUERY(Papers!A1:G11, "select A,B,C limit 3 formatas B 'mm-dd, yyyy, ddd'")
Patarimas. Šiame tinklaraščio įraše paminėjau kai kuriuos "Google Sheets QUERY" datos formatus. Kitus formatus galima paimti tiesiogiai iš skaičiuoklės: Formatas> Skaičius> Daugiau formatų> Pasirinktinis skaičiaus formatas .
Parinktys
Ši parinktis naudojama kai kuriems papildomiems rezultatų duomenų nustatymams nustatyti.
Pavyzdžiui, tokia komanda kaip no_values bus grąžinamos tik suformatuotos ląstelės.
Greičiausias būdas kurti QUERY formules - Keli Vlookup atitikmenys
Kad ir kokia galinga būtų "Google Sheets" funkcija QUERY, norint ją perprasti, gali tekti mokytis. Vienas dalykas yra iliustruoti kiekvieną sąlygą atskirai mažoje lentelėje, o visai kas kita - bandyti viską teisingai sukurti naudojant kelias sąlygas ir daug didesnę lentelę.
Todėl nusprendėme "Google Sheets QUERY" sukurti patogią vartotojui sąsają ir paversti ją priedu.
Kodėl kelios VLOOKUP atitiktys yra geriau nei formulės?
Na, su papildymu yra visiškai nereikia :
- išsiaiškinti nieko apie tuos straipsniai . Papildyme labai lengva sukurti daug sudėtingų sąlygų: tiek, kiek reikia, nepaisant jų eiliškumo, kad gautumėte tiek atitikmenų, kiek reikia.
Pastaba. Šiuo metu į priemonę įtraukti šie straipsniai: select, where, limit, ir kompensacija . Jei jūsų užduočiai reikia ir kitų sąlygų, komentuokite toliau - galbūt padėsite mums patobulėti ;)
- žinoti, kaip įveskite operatorius : tiesiog pasirinkite vieną iš išskleidžiamojo sąrašo.
- galvosūkį teisingas būdas įvesti datą ir laiką . Priedas leidžia juos įvesti taip, kaip anksčiau, atsižvelgiant į jūsų skaičiuoklės vietovę.
Patarimas. Įrankyje visada galima rasti užuominą su įvairių duomenų tipų pavyzdžiais.
Kaip premija , galėsite:
- peržiūra ir rezultatas ir formulė
- padaryti greitas reguliavimas pagal jūsų kriterijus
- pasirinkite vieta rezultatui
- įterpti rezultatą, nes abu QUERY formulė arba kaip reikšmės
Aš nejuokauju, pažiūrėkite patys. Nors šis GIF buvo pagreitintas, man prireikė mažiau nei minutės, kad sureguliuočiau visus kriterijus ir gaučiau rezultatą:
Jei jums įdomu, čia pateikiamas išsamus vaizdo įrašas, kuriame rodoma, kaip veikia priedas:
Tikiuosi, kad suteiksite šiam priedui galimybę ir įsigysite jį iš "Google Workspace Marketplace". Nesikuklinkite ir pasidalykite savo atsiliepimais, ypač jei jums kas nors nepatinka.
Be to, nedvejodami apžiūrėkite jo pamokų puslapį arba pagrindinį puslapį.