Kā izmantot Google Sheets QUERY funkciju - standarta klauzulas un alternatīvs rīks

  • Dalīties Ar Šo
Michael Brown

Ja kādu laiku esat sekojuši šim blogam, iespējams, atceraties QUERY funkciju Google Sheets. Es to minēju kā iespējamu risinājumu pāris gadījumos. Bet ar tiem vēl nebūt nepietiek, lai atklātu tās pilno potenciālu. Šodien ir pēdējais laiks, lai kārtīgi iepazītos ar šo izklājlapu superhero. Un uzminiet ko - tur būs arī viens tikpat ievērības cienīgs rīks :)

Vai zinājāt, ka Google lapu QUERY funkcija tiek uzskatīta par visspēcīgāko funkciju izklājlapās? Tās savdabīgā sintakse atbalsta desmitiem dažādu operāciju. Mēģināsim sadalīt tās daļas, lai reizi par visām reizēm tās apgūtu, labi?

    Google lapu QUERY funkcijas sintakse

    No pirmā acu uzmetiena šķiet, ka Google Sheets QUERY ir tikai vēl viena funkcija ar 1 izvēles un 2 nepieciešamajiem argumentiem:

    =QUERY(dati, vaicājums, [galvenes])
    • dati ir apstrādājamais diapazons. Nepieciešams. Šeit viss ir pilnīgi skaidrs.

      Piezīme. Tikai viens neliels atgādinājums, ko noteica Google: katrā slejā jābūt vienam datu tipam: teksta, skaitliskajam vai bolu. Ja ir dažādi tipi, QUERY strādās ar to, kas sastopams visbiežāk. Citi tipi tiks uzskatīti par tukšām šūnām. Dīvaini, bet paturiet to prātā.

    • vaicājums ir veids, kā apstrādāt dati ... Nepieciešams. Šeit sākas jautrība. Google Sheets QUERY funkcija šim argumentam izmanto īpašu valodu: Google vizualizācijas API vaicājumu valoda Tas ir rakstīts līdzīgi kā SQL. Būtībā tas ir īpašu klauzulu (komandu) kopums, ko izmanto, lai norādītu funkcijai, kas jādara: atlasīt, grupēt pēc, ierobežot utt.

      Piezīme. Visam argumentam jābūt ietvertam dubultās pēdiņās. Vērtībām savukārt jābūt ietvertām pēdiņās.

    • galvenes nav obligāts, ja jums ir jānorāda jūsu datu galvenes rindu skaits. Izlaidiet šo argumentu (kā es daru tālāk), un Google Sheets QUERY to pieņems, pamatojoties uz jūsu tabulas saturu.

    Tagad padziļināti izpētīsim klauzulas un to nozīmi.

    Google tabulās izmantotās klauzulas QUERY formulas

    Pieprasījumu valoda sastāv no 10 klauzulām. No pirmā acu uzmetiena tās var nobiedēt, īpaši, ja neesat pazīstams ar SQL. Bet es apsolu, ka, kad tās iepazīsiet, jūsu rīcībā nonāks spēcīgs izklājlapas ierocis.

    Es aplūkošu katru klauzulu un sniegšu formulu piemērus, izmantojot šo sarakstu ar iedomātiem skolēniem un viņu darba priekšmetiem:

    Jā, es esmu viens no tiem dīvainīšiem, kas uzskata, ka Plutonam vajadzētu būt planētai :)

    Padoms. Vienā Google Sheets QUERY funkcijā var izmantot vairākas klauzulas. Ja tās visas ieligzdojat, pārliecinieties, ka ievēroat to parādīšanās secību šajā rakstā.

    Atlasiet (visas vai konkrētas kolonnas)

    Pats pirmais pants - atlasīt - tiek izmantots, lai norādītu, kādas kolonnas jums ir nepieciešams, lai atgrieztos ar Google Sheets QUERY no citas lapas vai tabulas.

    Piemērs 1. Atlasiet visas kolonnas

    Lai iegūtu katru kolonnu, izmantojiet atlasīt ar zvaigznīti - atlasīt *

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

    Padoms. Ja izlaižat atlasīt parametrs, Google Sheets QUERY atgriezīsies visas kolonnas pēc noklusējuma:

    =QUERY(Papers!A1:G11)

    Piemērs 2. Konkrētu kolonnu atlase

    Lai izvilktu tikai noteiktas kolonnas, uzskaitiet tās pēc atlasīt klauzula:

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

    Padoms. Interesējošās kolonnas tiks kopētas tādā pašā secībā, kādā tās minētas formulā:

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

    Google tabulas vaicājums - kur klauzula

    Google tabulas vaicājums kur tiek izmantots, lai iestatītu nosacījumus attiecībā uz datiem, kurus vēlaties iegūt. Citiem vārdiem sakot, tas darbojas kā filtrs.

    Ja jūs izmantojat šo klauzulu, QUERY funkcija Google lapas meklēs kolonnas vērtības, kas atbilst jūsu nosacījumiem un iegūt visus atbilst atpakaļ uz jums.

    Padoms. Kur var darboties bez atlasīt klauzula.

    Kā parasti, lai precizētu nosacījumus, ir īpašas kopas. operatori jums:

    • vienkāršus salīdzināšanas operatorus ( skaitliskām vērtībām ): =, ,>,>=, <, <=
    • kompleksie salīdzināšanas operatori ( virknēm ): satur, sākas ar, beidzas ar, atbilst, != (neatbilst / nav vienāds ar), piemēram .
    • loģiskos operatorus, lai apvienot vairākus nosacījumus. : un, vai, vai, nav .
    • operatori tukšs / nav tukšs : ir nulle, nav nulle .

    Padoms. Ja esat satraukts vai noraizējies par to, ka jums atkal būs jātiek galā ar tik lielu skaitu operatoru, mēs jums līdzi jūtam. Mūsu daudzkārtējas Vlookup atbilstības atradīs visas atbilstības un vajadzības gadījumā izveidos QUERY formulas Google tabulās.

    Aplūkosim, kā šie operatori uzvedas formulās.

    1. piemērs. Kur ar skaitļiem

    Es pievienošu kur uz manu Google Sheets vaicājumu no iepriekš, lai iegūtu informāciju par tām planētām, kurām ir vairāk nekā 10 mēness:

    =QUERY(Papers!A1:G11, "izvēlieties A,B,C,F kur F>=10"))

    Padoms. Es minēju arī kolonnu F, kas jāiegūst, lai pārliecinātos, ka kritērijs ir izpildīts. Taču tas nav obligāti. Rezultātā nav jāiekļauj kolonnas ar nosacījumiem:

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

    2. piemērs. Kur ar teksta virknēm

    • Es gribu redzēt visas rindas, kurās vērtējums ir vai nu F vai F+ . Es izmantošu satur operators:

      =QUERY(Papers!A1:G11, "izvēlieties A,B,C,G kur G satur 'F'")

      Piezīme. Neaizmirstiet tekstu apvīt ar pēdiņām.

    • Lai iegūtu visas rindas ar F tikai, vienkārši nomainiet satur ar vienādības zīmi (=):

      =QUERY(Papers!A1:G11, "izvēlieties A,B,C,G kur G="F"")")

    • Lai pārbaudītu vēl nepiegādātos darbus (ja trūkst vērtējuma), pārbaudiet kolonnu G tukšajiem dokumentiem:

      =QUERY(Papers!A1:G11, "izvēlieties A,B,C,G kur G ir null'"))

    3. piemērs. Kur ar datumiem

    Uzminiet, ko: Google Sheets QUERY ir izdevies pat pieradināt datumus!

    Tā kā izklājlapās datumi tiek saglabāti kā kārtas skaitļi, parasti ir jāizmanto īpašas funkcijas, piemēram, DATUMS vai DATEVALUE, GADS, Mēnesis, LAIKS utt.

    Taču QUERY ir atradis veidu, kā apiet datumus. Lai tos ievadītu pareizi, vienkārši ierakstiet vārdu datums un pēc tam pievienojiet datumu, formatētu kā yyyy-mm-dd: datums '2020-01-01'

    Šeit ir mana formula, lai iegūtu visas rindas ar Runas datumu pirms 2020. gada 1. janvāra:

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

    Piemērs 4. Apvienojiet vairākus nosacījumus

    Lai noteiktu laika periodu izmantotu kā kritēriju, ir jāapvieno divi nosacījumi.

    Mēģināsim iegūt tos dokumentus, kas tika piegādāti 2019. gada rudenī. Pirmais kritērijs ir datums. 2019. gada 1. septembrī vai vēlāk , otrais - līdz 2019. gada 30. novembrim vai agrāk. :

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

    Vai arī es varu atlasīt dokumentus, pamatojoties uz šiem parametriem:

    • līdz 2019. gada 31. decembrim ( B )
    • ir A vai A+ pakāpe ( G satur 'A' )
    • vai B/B+ ( G satur 'B' )

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

    Padoms. Ja jūsu galva jau grasās eksplodēt, vēl nepadodieties. Ir rīks, kas lieliski spēj jums izveidot visas šīs formulas neatkarīgi no kritēriju skaita. Pērciet uzreiz uz raksta beigām, lai ar to iepazītos.

    Google tabulas vaicājums - Group By

    Google tabulas vaicājums grupa pēc Tomēr, lai apkopotu rindas, ir jāizmanto dažas apkopojošās funkcijas.

    Piezīme. Grupa pēc vienmēr jāievēro atlasīt klauzula.

    Diemžēl manā tabulā nav ko grupēt, jo tajā nav atkārtojošos vērtību. Tāpēc ļaujiet man to nedaudz pielāgot.

    Pieņemsim, ka visi darbi ir jāsagatavo tikai 3 skolēniem. Es varu atrast augstāko atzīmi, ko katrs skolēns ir saņēmis. Bet, tā kā tie ir burti, tad tieši MIN funkcija man jāpiemēro kolonnai G:

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

    Piezīme. Ja neizmantojat apkopojošo funkciju nevienā kolonnā atlasīt klauzula (sleja A manā piemērā), jums tie visi ir jāduplicē. grupa pēc klauzula.

    Google tabulas vaicājums - Pivot

    Google tabulas vaicājums šarnīrs klauzula darbojas pretēji, ja tā var teikt. Tā pārnes datus no vienas kolonnas uz rindu ar jaunām kolonnām, attiecīgi grupējot citas vērtības.

    Tiem no jums, kas nodarbojas ar datumiem, tas var būt īsts atklājums. Jūs varēsiet ātri apskatīt visus atšķirīgos gadus no šīs avota kolonnas.

    Piezīme. Kad runa ir par šarnīrs , katra sleja, kas izmantota atlasīt klauzula būtu jāietver ar apkopojošo funkciju. Pretējā gadījumā tas būtu jānorāda grupa pēc komandu pēc jūsu šarnīrs .

    Atcerieties, ka manā tabulā tagad ir minēti tikai 3 skolēni. Es grasos, lai funkcija man pateiktu, cik ziņojumu katrs skolēns ir sagatavojis:

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

    Google tabulas vaicājums - sakārtot pēc

    Tas ir diezgan vienkārši :) To izmanto, lai sakārtotu iznākumu pēc vērtībām noteiktās kolonnās.

    Padoms. Visi iepriekšējie punkti nav obligāti, ja izmanto pasūtījums pēc . Es izmantoju atlasīt lai demonstrēšanas nolūkos atgrieztu mazāk kolonnu.

    Atgriezīsimies pie manas sākotnējās tabulas un sakārtosim ziņojumus pēc runas datuma.

    Šis nākamais Google Sheets QUERY formula saņems man kolonnas A, B un C, bet tajā pašā laikā būs sakārtot tos pēc datuma B kolonnā:

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

    Ierobežojums

    Ko darīt, ja es jums teiktu, jums nav jāievada katru rindu rezultātā? Ko darīt, ja es jums teiktu, ka Google Sheets QUERY var pull tikai noteiktu summu no pirmajiem atbilstības tā atrod?

    Nu, bet ierobežot Tas ierobežo atgriežamo rindu skaitu ar norādīto skaitli.

    Padoms. Varat brīvi izmantot ierobežot bez citām iepriekšējām klauzulām.

    Šī formula parādīs pirmās 5 rindas, kurās kolonnā ar atzīmēm ir atzīme (nav tukša):

    =QUERY(Papers!A1:G11, "izvēlieties A,B,C,G kur G nav null limits 5")

    Ofsets

    Šī klauzula ir gluži pretēja iepriekšējai klauzulai. Kamēr ierobežot iegūst norādīto rindu skaitu, ofsets tos izlaiž, iegūstot pārējos.

    Padoms. Ofsets nav nepieciešami arī citi punkti.

    =QUERY(Papers!A1:G11, "select A,B,C,G kur G nav null offset 5")

    Ja mēģināt izmantot abus ierobežot un ofsets , notiks šādi notikumi:

    1. Ofsets izlaidīs rindas sākumā.
    2. Ierobežojums atgriezīs šādu rindu skaitu.

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

    No 11 datu rindām (pirmā ir galvene, un QUERY funkcija Google Sheets to labi saprot), kompensācija izlaiž pirmās 3 rindas. Limits atgriež 3 nākamās rindas (sākot no 4.):

    Google tabulas vaicājums - etiķete

    Google tabulas vaicājums etiķete komanda ļauj mainīt kolonnu galvenes nosaukumus.

    Padoms. Citi punkti nav obligāti etiķete kā arī.

    Ievietojiet etiķete vispirms norādiet kolonnas ID un jauno nosaukumu. Ja pārdēvējat vairākas kolonnas, atdaliet katru jauno kolonnas apzīmējuma pāri ar komatu:

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

    Formāts

    Portāls formāts klauzula ļauj mainīt visu kolonnas vērtību formātu. Šim nolūkam jums būs nepieciešams paraugs, kas stāv aiz vēlamā formāta.

    Padoms. Formāta klauzulu var izmantot arī atsevišķi Google lapu vaicājumā.

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

    Padoms. Šajā emuāra ierakstā es minēju dažus datumu formātus Google lapu QUERY. Citus formātus var pārņemt tieši no izklājlapām: Formāts> Skaitļi> Vairāk formātu> Pielāgotais skaitļa formāts .

    Iespējas

    Šo funkciju izmanto, lai iestatītu dažus papildu iestatījumus rezultātu datiem.

    Piemēram, šāda komanda no_values atgriezīs tikai formatētas šūnas.

    Ātrākais veids, kā izveidot QUERY formulas - Vairāku Vlookup Matches

    Lai cik jaudīga būtu Google Sheets funkcija QUERY, lai to apgūtu, var būt nepieciešams apgūt. Viena lieta ir ilustrēt katru klauzulu atsevišķi nelielā tabulā, un pavisam cita - mēģināt visu pareizi izveidot, izmantojot dažas klauzulas un daudz lielāku tabulu.

    Tāpēc mēs nolēmām lietotājam draudzīgā saskarnē ietērpt Google Sheets QUERY un padarīt to par papildinājumu.

    Kāpēc vairākas VLOOKUP sakritības ir labākas nekā formulas?

    Nu, ar papildinājumu ir absolūti nav nepieciešams :

    • noskaidrot kaut ko par šiem klauzulas . Papildinājumā ir ļoti viegli izveidot daudz sarežģītu nosacījumu: tik daudz, cik nepieciešams, neskatoties uz to, lai iegūtu tik daudz atbilstības, cik nepieciešams.

      Piezīme. Šobrīd rīkā ir iekļauti šādi punkti: select, where, limit, un ofsets Ja jūsu uzdevumam ir nepieciešami arī citi punkti, lūdzu, komentējiet zemāk - iespējams, jūs palīdzēsiet mums to uzlabot ;)

    • zināt, kā ievadiet operatorus : vienkārši izvēlieties vienu no nolaižamajā sarakstā.
    • mīklu pār pareizu veids, kā ievadīt datumu un laiku . Papildinājums ļauj ievadīt tos tāpat kā agrāk, pamatojoties uz jūsu izklājlapas atrašanās vietu.

      Padoms. Rīkā vienmēr ir pieejams ieteikums ar dažādu datu veidu piemēriem.

    bonuss , jūs varēsiet:

    • priekšskatījums gan rezultātu un formulu
    • izveidot ātri pielāgojumi jūsu kritērijiem.
    • atlasīt rezultātu vieta
    • ievietot rezultātu, jo gan QUERY formula vai vērtības

    Es nejokoju, pārliecinieties pats. Lai gan šis GIF tika paātrināts, man vajadzēja mazāk nekā minūti, lai precizētu visus kritērijus un iegūtu rezultātu:

    Ja esat pietiekami ziņkārīgs, šeit skatiet detalizētu videoklipu, kurā parādīts, kā šis papildinājums darbojas:

    Ceru, ka dosiet papildinājumam iespēju un iegūsiet to no Google Workspace Marketplace. Nekautrējieties un dalieties atsauksmēs, īpaši, ja jums kaut kas nepatīk.

    Tāpat varat apskatīt tās pamācību lapu vai sākuma lapu.

    Maikls Brauns ir īpašs tehnoloģiju entuziasts, kura aizraušanās ir sarežģītu procesu vienkāršošana, izmantojot programmatūras rīkus. Ar vairāk nekā desmit gadu pieredzi tehnoloģiju nozarē viņš ir pilnveidojis savas prasmes programmās Microsoft Excel un Outlook, kā arī Google izklājlapās un dokumentos. Maikla emuārs ir veltīts tam, lai dalītos savās zināšanās un pieredzē ar citiem, sniedzot viegli izpildāmus padomus un pamācības produktivitātes un efektivitātes uzlabošanai. Neatkarīgi no tā, vai esat pieredzējis profesionālis vai iesācējs, Maikla emuārs piedāvā vērtīgas atziņas un praktiskus padomus, kā maksimāli izmantot šos būtiskos programmatūras rīkus.