Kiel uzi Google Sheets QUERY-funkcio - normaj klaŭzoj kaj alternativa ilo

  • Kundividu Ĉi Tion
Michael Brown

Se vi sekvas ĉi tiun blogon dum kelka tempo, vi eble memoras la funkcion QUERY por Google Sheets. Mi menciis ĝin kiel ebla solvo por kelkaj kazoj. Sed tiuj estas malproksimaj de sufiĉe por malkovri ĝian plenan potencialon. Hodiaŭ jam estas tempo, ke ni ĝuste konu ĉi tiun superheroon de kalkultabeloj. Kaj divenu kion – unu same rimarkinda ilo ankaŭ estos tie :)

Ĉu vi scias, ke Google Sheets QUERY-funkcio estas konsiderata kiel la plej potenca en kalkultabeloj? Ĝia propra sintakso favoras dekojn da malsamaj operacioj. Ni provu malkonstrui ĝiajn partojn por lerni ilin unufoje por ĉiam, ĉu ne?

    Sintakso de Google Sheets QUERY-funkcio

    Unuavide, Google Sheets QUERY estas nur alia funkcio kun 1 nedeviga kaj 2 postulataj argumentoj:

    =DEMANDO(datenoj, demando, [kapoj])
    • datumoj estas la gamo por prilabori. Bezonata. Ĉio estas kristale klara ĉi tie.

      Notu. Nur unu malgranda memorigilo ĉi tie establita de Guglo: ĉiu kolumno devus enhavi unu tipon de datumoj: teksta, aŭ nombra, aŭ bulea. Se estas malsamaj tipoj, QUERY funkcios kun tiu, kiu plej okazas. Aliaj tipoj estos konsiderataj kiel malplenaj ĉeloj. Strange, sed memoru tion.

    • demando estas la maniero prilabori la datumojn . Bezonata. Ĉi tie komenciĝas la tuta amuzo. La funkcio QUERY de Google Sheets uzas specialan lingvon por ĉi tiu argumento: Google Visualization APIkriterioj
    • elektu lokon por la rezulto
    • enigu la rezulton kiel ambaŭ QUERY-formulo aŭ kiel valoroj

    Mi ne ŝercas, vidu mem. Kvankam ĉi tiu GIF estis plirapidigita, mi bezonis malpli ol minuton por agordi ĉiujn kriteriojn kaj akiri la rezulton:

    Se vi estas sufiĉe scivolema, jen detala. video montranta kiel funkcias la aldonaĵo:

    Mi esperas, ke vi donos ŝancon al la aldonaĵo kaj ricevos ĝin de Google Workspace Marketplace. Ne timu kaj dividu viajn komentojn, precipe se estas io pri ĝi, kiun vi ne ŝatas.

    Ankaŭ bonvolu kontroli ĝian lernilon aŭ ĉefpaĝon.

    Demanda Lingvo. Ĝi estas skribita en maniero simila al SQL. Esence, ĝi estas aro de specialaj subfrazoj (komandoj) uzataj por diri al la funkcio kion fari: elekti, grupigi per, limigi ktp.

    Noto. La tuta argumento devas esti enfermita inter citiloj. Valoroj siavice devas esti envolvitaj per citiloj.

  • titoloj estas nedeviga por kiam vi bezonas indiki la nombron da kaplinioj en viaj datumoj. Forlasu la argumenton (kiel mi faras ĉi-sube), kaj Google Sheets QUERY supozos ĝin surbaze de la enhavo de via tabelo.
  • Nun ni enprofundigu la klaŭzojn kaj kion ajn ili faras.

    Klazoj uzataj en Google Sheets QUERY-formuloj

    Demandlingvo konsistas el 10 klaŭzoj. Ili eble timigos unuavide, precipe se vi ne konas SQL. Sed mi promesas, ke post kiam vi konos ilin, vi ricevos potencan kalkultabelarmilon je via dispono.

    Mi kovros ĉiun subfrazon kaj prezentos formulekzemplojn uzante ĉi tiun liston de imagaj studentoj kaj iliaj paperaj temoj. :

    Jes, mi estas unu el tiuj stranguloj kiuj opinias ke Plutono devus esti planedo :)

    Konsileto. Pluraj subfrazoj povas esti uzataj ene de unu funkcio QUERY de Google Sheets. Se vi nestu ilin ĉiujn, certigu sekvi la ordon de ilia apero en ĉi tiu artikolo.

    Elektu (ĉiujn aŭ specifajn kolumnojn)

    La unua klaŭzo – elekto – estas uzata por diri kiajn kolumnojn vi bezonas redoni kun Google Sheets QUERYel alia folio aŭ tabelo.

    Ekzemplo 1. Elektu ĉiujn kolumnojn

    Por preni ĉiun kaj ĉiun kolumnon, uzu elekti kun asterisko – elektu *

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

    Konsileto. Se vi preterlasas la elektu parametron, Google Sheets QUERY resendos ĉiujn kolumnojn defaŭlte:

    =QUERY(Papers!A1:G11)

    Ekzemplo 2. Elektu specifajn kolumnojn

    Por tiri nur certajn kolumnojn , listigu ilin post la subfrazo elektu :

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

    Konsileto. La interesaj kolumnoj estos kopiitaj en la sama ordo, kiun vi mencias ilin en la formulo:

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

    Google Sheets QUERY – Kie klaŭzo

    Google Sheets QUERY kie estas uzata por agordi la kondiĉojn al la datumoj kiujn vi volas akiri. Alivorte, ĝi funkcias kiel filtrilo.

    Se vi uzas ĉi tiun klaŭzon, QUERY-funkcio por Google Sheets serĉos kolumnojn por valoroj kiuj plenumas viajn kondiĉojn kaj revenos ĉiujn kongruojn al vi.

    Konsileto. Kie povas funkcii sen la elekto subfrazo.

    Kiel kutime, por specifi kondiĉojn, estas aroj de specialaj funkciigistoj por vi:

    • simplaj komparfunkciigistoj ( por nombraj valoroj ): =, , >, >=, <, <=
    • kompleksaj komparfunkciigistoj ( por ĉenoj ): enhavas, komenciĝas per, finiĝas kun, kongruas, != (ne kongruas / ne egalas al), kiel .
    • logikaj operatoroj por kombini plurajn kondiĉojn : kaj, aŭ, ne .
    • funkciigistoj por malplena/ ne malplena : estas nula, ne estas nula .

    Konsileto. Se vi estas ĉagrenita aŭ maltrankvila pri devi denove trakti tiom grandegan nombron da telefonistoj, ni sentas vin. Niaj Multoblaj Vlookup Matĉoj trovos ĉiujn kongruojn kaj konstruos QUERY-formulojn en Google Sheets por vi se necese.

    Ni vidu kiel ĉi tiuj operatoroj kondutas en formuloj.

    Ekzemplo 1. Kie kun ciferoj

    mi aldonos kie al miaj Guglo-Folioj DEMANDU de supre por akiri la informojn pri tiuj planedoj, kiuj havas pli ol 10 lunojn:

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

    Konsileto. Mi ankaŭ menciis kolumnon F por preni nur por certigi, ke la kriterio estas plenumita. Sed ĝi estas tute laŭvola. Vi ne devas inkluzivi kolumnojn kun kondiĉoj en la rezulton:

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

    Ekzemplo 2. Kie kun tekstaj ĉenoj

    • Mi volas vidi ĉiuj vicoj kie la grado estas aŭ F F+ . Mi uzos la operatoron contains por tio:

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

      Notu. Ne forgesu ĉirkaŭi vian tekston per citiloj.

    • Por akiri ĉiujn vicojn kun F nur, simple anstataŭigu enhavas per egala signo (=):

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

    • Por kontroli la paperojn, kiuj ankoraŭ estas liverotaj (kie mankas la noto), kontrolu kolumnon G por malplenaj:

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

    Ekzemplo 3. Kie kun datoj

    Divenu kio: Google Sheets QUERY eĉ sukcesis malsovaĝigi datojn!

    Ĉar kalkultabeloj konservas datojn kiel seriajn numerojn, kutime, vi devasrecurre al la helpo de specialaj funkcioj kiel DATO aŭ DATOVALO, JARO, MONATO, TEMPO, ktp.

    Sed QUERY trovis sian manieron ĉirkaŭ datoj. Por ĝuste enigi ilin, simple tajpu la vorton daton kaj poste aldonu la daton mem formatitan kiel jjyy-mm-dd: dato '2020-01-01'

    Jen mia formulo por ricevi ĉiujn vicojn kun Parola dato antaŭ la 1-a de Jan 2020:

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

    Ekzemplo 4. Kombinu plurajn kondiĉojn

    Por uzi certan tempon kiel kriterion, vi devos kombini du kondiĉojn.

    Ni provu preni tiujn artikolojn, kiuj estis liveritaj en Aŭtuno, 2019. La unuaj kriterioj estu dato je. aŭ post la 1-a de septembro 2019 , la dua — aŭ antaŭ la 30a de novembro 2019 :

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

    Aŭ, mi povas elekti artikolojn surbaze de ĉi tiuj parametroj:

    • antaŭ la 31-a de decembro 2019 ( B )
    • havu aŭ A aŭ A+ kiel gradon ( G enhavas 'A' )
    • aŭ B/B+ ( G enhavas 'B' )

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

    Konsileto. Se via kapo jam estas eksplodonta, ankoraŭ ne rezignu. Estas ilo, kiu perfekte kapablas konstrui ĉiujn ĉi tiujn formulojn por vi, negrave la nombro da kriterioj. Saltu rekte al la fino de la artikolo por ekkoni ĝin.

    Google Sheets QUERY – Group By

    Google Sheets QUERY grupo per komando estas uzata por kunligi vicojn. Tamen, vi devus uzi iujn agregajn funkciojn por resumi ilin.

    Notu. Grupo per ĉiam devas sekvi la subfrazon elekti .

    Bedaŭrinde, estas nenio por grupigi en mia tabelo ĉar ne ekzistas ripetiĝantaj valoroj. Do lasu min alĝustigi ĝin.

    Supozi, ĉiuj paperoj estas preparitaj de nur 3 studentoj. Mi povas trovi la plej altan gradon kiun ĉiu studento ricevis. Sed ĉar ili estas literoj, ĝi estas la MIN-funkcio, kiun mi devus apliki al kolumno G:

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

    Notu. Se vi ne uzas agregan funkcion kun iu ajn kolumno en la subfrazo elekto (kolumno A en mia ekzemplo), vi devas duobligi ilin ĉiujn en la grupo per subfrazo.

    Google Sheets QUERY – Pivot

    Google Sheets QUERY pivota klaŭzo funkcias inverse, se mi rajtas diri tion. Ĝi transponas datumojn de unu kolumno al vico kun novaj kolumnoj, grupigante aliajn valorojn laŭe.

    Por tiuj el vi traktantaj datojn, ĝi povas esti vera malkovro. Vi povos ricevi rapidan rigardon al ĉiuj malsamaj jaroj el tiu fontkolumno.

    Noto. Kiam temas pri pivoto , ĉiu kolumno uzata en la subfrazo elekto estu kovrita per entuta funkcio. Alie, ĝi estu menciita en la grupo per komando sekvante vian pivoton .

    Memoru, mia tabelo nun mencias nur 3 studentojn. Mi igos la funkcion diri al mi kiom da raportoj faris ĉiu studento:

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

    Google Sheets QUERY – Mendu per

    Ĉi tiu estas sufiĉe facila :) Ĝi kutimasordigu la rezulton laŭ la valoroj en certaj kolumnoj.

    Konsileto. Ĉiuj antaŭaj subfrazoj estas laŭvolaj kiam oni uzas ordigi per . Mi uzas elekti por redoni malpli da kolumnoj por pruvaj celoj.

    Ni reiru al mia origina tabelo kaj ordigu raportojn laŭ paroladato.

    Ĉi tiu sekva formulo DEMANDO de Google Sheets ricevos al mi kolumnojn A, B kaj C, sed samtempe ordigos ilin laŭ dato en kolumno B:

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

    Limo

    Kaj se mi dirus al vi, vi ne devas enporti ĉiun vicon en la rezulto? Kio se mi dirus al vi, ke Google Sheets QUERY povas tiri nur certan kvanton de la unuaj kongruoj kiujn ĝi trovas?

    Nu, la limo klaŭzo estas desegnita por helpi vin pri tio. Ĝi limigas la nombron de vicoj por reveni per la donita nombro.

    Konsileto. Bonvolu uzi limon sen aliaj antaŭaj subfrazoj.

    Ĉi tiu formulo montros la unuajn 5 vicojn kie la kolumno kun notoj enhavas markon (ne estas malplena):

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

    Ofseto

    Tiu ĉi subfrazo estas iom kontraŭa al la antaŭa. Dum limo ricevas al vi la nombron da vicoj, kiujn vi specifas, offset preterlasas ilin, retrovante la reston.

    Konsileto. Ofset ankaŭ ne postulas aliajn subfrazojn.

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

    Se vi provas uzi ambaŭ limon kaj offset , okazos la jena:

    1. Ofset preterlasos vicojn ĉe la komenco.
    2. Limo redonos kelkajn el lasekvaj vicoj.

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

    El 11 vicoj da datumoj (la unua estas kaplinio kaj QUERY-funkcio en Google Sheets faras belan laboron kompreni tion), ofseto preterlasas la unuan 3 vicoj. Limo donas 3 sekvajn vicojn (komencante de la 4-a):

    Google Sheets QUERY – Etikedo

    Google Sheets QUERY etikedo komando permesas ŝanĝi kapnomojn de la kolumnoj.

    Konsileto. Aliaj subfrazoj estas nedevigaj ankaŭ por etikedo .

    Metu la etikedon unue, sekvate de la kolumna ID kaj nova nomo. Se vi renomas kelkajn kolumnojn, apartigu ĉiun novan paron de kolumnaj etikedoj per komo:

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

    Formato

    La format klaŭzo ebligas ŝanĝi la formaton de ĉiuj valoroj en kolumno. Por tio, vi bezonos ŝablonon starantan malantaŭ la dezirata formato.

    Konsileto. La formata klaŭzo ankaŭ povas ludi sole en la DEMANDO de Google Sheets.

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

    Konsileto. Mi menciis kelkajn datformatojn por Google Sheets QUERY en ĉi tiu bloga afiŝo. Aliaj formatoj povas esti prenitaj rekte el kalkultabeloj: Formato > Numero > Pliaj Formatoj > Propra numero-formato .

    Opcioj

    Ĉi tiu estas uzata por agordi kelkajn pliajn agordojn por la rezultaj datumoj.

    Ekzemple, tia komando kiel sen_valoroj redonos nur formatitajn ĉelojn.

    La plej rapida maniero konstrui QUERY-formulojn – Multoblaj Vlookup-Matchoj

    Tamen potenca estas la QUERY-funkcio en Google Sheets,ĝi povas postuli lernkurbon por ekhavi. Unu afero estas ilustri ĉiun subfrazon aparte sur malgranda tablo, kaj tute alia klopodi konstrui ĉion ĝuste per kelkaj klaŭzoj kaj multe pli granda tabelo.

    Tial ni decidis vesti Google Sheets QUERY per maniero. uzant-amika interfaco kaj faru ĝin la aldonaĵo.

    Kial Multoblaj VLOOKUP-Matchoj estas pli bona ol formuloj?

    Nu, kun la aldonaĵo estas tute ne necesas :

    • eltrovi ion pri tiuj frazoj . Estas vere facile krei multajn kompleksajn kondiĉojn en la aldonaĵo: tiom da kiom vi bezonas malgraŭ ilia ordo por alporti tiom da alumetoj kiom vi bezonas.

      Notu. Nuntempe, la sekvaj subfrazoj estis korpigitaj en la ilo: elektu, kie, limigi, kaj offset . Se via tasko postulas ankaŭ aliajn klaŭzojn, bonvolu komenti sube – eble vi helpos nin plibonigi ;)

    • sciu kiel enigi operatorojn : simple elektu tiun el unu falliston.
    • enigmo super la ĝusta maniero por enigi daton kaj horon . La aldonaĵo permesas vin enigi ilin kiel vi kutimis surbaze de via kalkultabelo.

      Konsileto. Ĉiam estas disponebla sugesto en la ilo kun ekzemploj de malsamaj datumtipoj.

    Kiel gratifiko , vi povos:

    • antaŭrigardi ambaŭ la rezulto kaj la formulo
    • faru rapidajn alĝustigojn al via

    Michael Brown estas diligenta teknologia entuziasmulo kun pasio por simpligi kompleksajn procezojn uzante programarajn ilojn. Kun pli ol jardeko da sperto en la teknologia industrio, li perfektigis siajn kapablojn en Microsoft Excel kaj Outlook, same kiel Google Sheets kaj Docs. La blogo de Mikaelo estas dediĉita al kunhavigi siajn sciojn kaj kompetentecon kun aliaj, provizante facilajn sekvajn konsiletojn kaj lernilojn por plibonigi produktivecon kaj efikecon. Ĉu vi estas sperta profesiulo aŭ komencanto, la blogo de Mikaelo ofertas valorajn komprenojn kaj praktikajn konsilojn por eltiri la plej multajn el ĉi tiuj esencaj programaj iloj.