Tartalomjegyzék
Ha már egy ideje követed ezt a blogot, talán emlékszel a Google Sheets QUERY funkciójára. Néhány esetben már említettem, mint lehetséges megoldást. De ezek messze nem elégségesek ahhoz, hogy teljes potenciálját felfedezzük. Ma itt az ideje, hogy megismerjük ezt a táblázatkezelő szuperhőst rendesen. És képzeld - egy hasonlóan figyelemre méltó eszköz is lesz :)
Tudtad, hogy a Google Sheets QUERY funkcióját a leghatalmasabbnak tartják a táblázatokban? Sajátos szintaxisa több tíz különböző műveletnek kedvez. Próbáljuk meg lebontani a részeit, hogy egyszer és mindenkorra megtanuljuk őket, jó?
A Google Sheets QUERY funkció szintaxisa
Első pillantásra a Google Sheets QUERY csak egy újabb függvény 1 opcionális és 2 kötelező argumentummal:
=QUERY(data, query, [headers])- adatok a feldolgozandó tartomány. Kötelező. Itt minden kristálytiszta.
Megjegyzés. Csak egy kis emlékeztető itt a Google által létrehozott: minden oszlopnak egy típusú adatot kell tartalmaznia: szöveges, vagy numerikus, vagy boolean. Ha különböző típusok vannak, a QUERY azzal fog dolgozni, amelyik a legtöbbször fordul elő. A többi típus üres cellának minősül. Furcsa, de ezt tartsd észben.
- lekérdezés az a mód, ahogyan a adatok . Kötelező. Itt kezdődik a móka. A Google Sheets QUERY funkciója egy speciális nyelvet használ erre az argumentumra: Google Visualization API lekérdezési nyelv Alapvetően egy sor speciális záradék (parancs), amelyekkel a függvénynek megmondjuk, hogy mit csináljon: select, group by, limit stb.
Megjegyzés: A teljes argumentumot dupla idézőjelek közé kell zárni, az értékeket pedig idézőjelek közé kell tenni.
- fejlécek opcionális, ha meg kell jelezni a fejléc sorok számát az adatok. Hagyja ki az argumentumot (mint én alább), és a Google Sheets QUERY feltételezi, hogy a tartalom alapján a táblázat.
Most pedig ássunk mélyebbre a záradékokba és azok működésébe.
A Google Sheets QUERY képletekben használt záradékok
A lekérdezési nyelv 10 záradékból áll. Ezek első pillantásra megijeszthetnek, különösen, ha nem ismered az SQL-t. De ígérem, ha egyszer megismered őket, egy hatalmas táblázatkezelői fegyver áll majd a rendelkezésedre.
Minden egyes záradékot le fogok fedni, és a képzeletbeli diákok és papírtémáik listáját felhasználva képletpéldákat fogok adni:
Igen, én is azok közé a fura alakok közé tartozom, akik szerint a Plútónak bolygónak kellene lennie :)
Tipp. Egy Google Sheets QUERY függvényen belül több záradék is használható. Ha mindet beágyazza, ügyeljen arra, hogy kövesse a megjelenésük sorrendjét ebben a cikkben.
Kijelölés (minden vagy bizonyos oszlopok)
A legelső záradék - válassza ki a címet. - arra szolgál, hogy megmondja, milyen oszlopokat kell visszaadni a Google Sheets QUERY egy másik lap vagy táblázat.
Példa 1. Minden oszlop kijelölése
Minden egyes oszlop lekérdezéséhez használja a válassza ki a címet. csillaggal - select *
=QUERY(Papírok!A1:G11, "select *")
Tipp. Ha kihagyja a válassza ki a címet. paraméter, A Google Sheets QUERY alapértelmezés szerint minden oszlopot visszaad:
=QUERY(Papírok!A1:G11)
Példa 2. Egyes oszlopok kiválasztása
Ha csak bizonyos oszlopokat szeretne kihúzni, sorolja fel őket a válassza ki a címet. záradék:
=QUERY(Papírok!A1:G11, "select A,B,C")
Tipp: A kívánt oszlopok abban a sorrendben lesznek másolva, ahogyan a képletben megemlíti őket:
=QUERY(Papírok!A1:G11, "select C,B,A")
Google Sheets QUERY - Hol záradék
Google Sheets QUERY ahol arra szolgál, hogy feltételeket állítson be a kívánt adatokhoz. Más szóval szűrőként működik.
Ha ezt a záradékot használja, QUERY funkció a Google Sheets keresni fogja oszlopok értékek, amelyek megfelelnek a feltételeknek, és hozza vissza az összes találatot az Ön számára.
Tipp. Hol működhet a válassza ki a címet. záradék.
Mint általában, a feltételek meghatározásához vannak speciális üzemeltetők az Ön számára:
- egyszerű összehasonlító operátorok ( numerikus értékek esetén ): =, ,>,>=, <, <=
- összetett összehasonlító operátorok ( a stringek esetében ): tartalmazza, kezdődik, végződik, megegyezik, != (nem egyezik / nem egyenlő), mint .
- logikai operátorok a több feltétel kombinálása : és, vagy, nem .
- operátorok a üres / nem üres : null, nem null .
Tipp: Ha ideges vagy aggódik amiatt, hogy ismét ilyen nagyszámú operátorral kell foglalkoznia, átérezzük Önt. A Multiple Vlookup Matches megtalálja az összes egyezést, és szükség esetén QUERY képleteket épít a Google Sheets-ben az Ön számára.
Lássuk, hogyan viselkednek ezek az operátorok a képletekben.
Példa 1. Hol számokkal
Hozzáteszem ahol az én Google Sheets QUERY fentről, hogy megkapja az információt azokról a bolygókról, amelyek több mint 10 holdak:
=QUERY(Papers!A1:G11, "select A,B,C,F where F>=10")
Tipp. Említettem az F oszlopot is, amelyet csak azért kell lekérdezni, hogy a feltétel teljesüljön. De ez teljesen opcionális. Nem kell a feltételekkel rendelkező oszlopokat az eredménybe bevonni:
=QUERY(Papírok!A1:G11, "select A,B,C where F>=10")
2. példa. Hol szöveges karakterláncokkal
- Szeretném látni az összes olyan sort, ahol a besorolási fokozat vagy F vagy F+ . használni fogom a a címen található. operátorral:
=QUERY(Papírok!A1:G11, "select A,B,C,G where G contains 'F'")
Megjegyzés: Ne felejtse el idézőjelekkel körülvenni a szöveget.
- Az összes olyan sor kinyerése, amelynek F csak, csak cserélje ki a címen található. egy egyenlőségjel (=):
=QUERY(Papírok!A1:G11, "select A,B,C,G where G="F""))
- A még le nem adott dolgozatok ellenőrzéséhez (ahol hiányzik az osztályzat), ellenőrizze az alábbi oszlopot G üres helyekre:
=QUERY(Papers!A1:G11, "select A,B,C,G where G is null'")
3. példa. Hol dátumokkal
Képzeld el: Google Sheets QUERY még sikerült megszelídíteni dátumokat!
Mivel a táblázatkezelők a dátumokat sorszámként tárolják, általában olyan speciális függvények segítségét kell igénybe vennie, mint a DATE vagy DATEVALUE, YEAR, MONTH, TIME stb.
De a QUERY megtalálta az utat a dátumok körül. A megfelelő megadásukhoz egyszerűen írja be a szót dátum majd hozzáadja magát a dátumot yyyy-mm-dd formátumban: dátum '2020-01-01'
Itt van az én képletem, hogy megkapjam az összes olyan sort, amelynek a Beszéd dátuma 2020. január 1. előtti:
=QUERY(Papírok!A1:G11, "select A,B,C where B
Példa 4. Több feltétel kombinálása
Ahhoz, hogy egy bizonyos időtartamot kritériumként használjon, két feltételt kell kombinálnia.
Próbáljuk meg előkeresni azokat a dolgozatokat, amelyeket 2019 őszén adtak le. Az első kritériumnak egy dátumnak kell lennie. 2019. szeptember 1-jén vagy azt követően , a második - legkésőbb 2019. november 30-án :
=QUERY(Papers!A1:G11, "select A,B,C where B>=dátum '2019-09-01' and B<=dátum '2019-11-30'")
Vagy pedig ezen paraméterek alapján válogathatom ki a papírokat:
- 2019. december 31. előtt ( B
) - A vagy A+ osztályzatot kapnak ( G tartalmaz 'A'-t )
- vagy B/B+ ( G tartalmaz 'B'-t )
=QUERY(Papers!A1:G11, "select A,B,C,G where B
Tipp: Ha már majdnem szétrobban a fejed, még ne add fel. Van egy eszköz, ami tökéletesen képes mindezeket a képleteket elkészíteni helyetted, függetlenül a kritériumok számától. Ugorj a cikk végére, hogy megismerd.
Google Sheets QUERY - Csoportosítás
Google Sheets QUERY csoportosítsuk a parancsot használjuk a sorok összekapcsolására. Összegzésükhöz azonban néhány aggregáló függvényt kell használnunk.
Megjegyzés. Csoportosítás mindig követnie kell a válassza ki a címet. záradék.
Sajnos az én táblázatomban nincs mit csoportosítani, mivel nincsenek ismétlődő értékek. Hadd állítsam be egy kicsit.
Tegyük fel, hogy az összes dolgozatot csak 3 diák készíti el. Meg tudom találni az egyes diákok legmagasabb osztályzatát. De mivel ezek betűk, a MIN függvényt kell alkalmaznom a G oszlopra:
=QUERY(Papers!A1:G11, "select A,min(G) group by A")
Megjegyzés: Ha nem használ aggregáló függvényt a táblázat bármelyik oszlopával a válassza ki a címet. záradék (oszlop A az én példámban), akkor meg kell duplikálnia mindet a csoportosítsuk a záradék.
Google Sheets QUERY - Pivot
Google Sheets QUERY pivot záradék fordítva működik, ha szabad így mondanom. Az adatokat egy oszlopból egy új oszlopokkal ellátott sorba helyezi át, és a többi értéket ennek megfelelően csoportosítja.
Aki a dátumokkal foglalkozik, annak ez igazi felfedezés lehet. Ebből a forrásoszlopból gyors pillantást vethet az összes különböző évre.
Megjegyzés: Amikor a pivot , minden oszlop, amelyet a válassza ki a címet. záradékot egy aggregált függvénnyel kell lefedni. Ellenkező esetben a csoportosítsuk a parancsot a pivot .
Ne feledje, hogy a táblázatom most csak 3 diákot említ. A függvényt arra fogom használni, hogy megmondja, hogy az egyes diákok hány jelentést készítettek:
=QUERY(Papírok!A1:G11, "select count(G) pivot A")
Google Sheets QUERY - Rendezés
Ez elég egyszerű :) Arra szolgál, hogy az eredményt bizonyos oszlopok értékei szerint rendezzük.
Tipp: Az összes előző záradék opcionális, ha a rendelés szerint . használom válassza ki a címet. hogy demonstrációs céllal kevesebb oszlopot adjon vissza.
Térjünk vissza az eredeti táblázatomhoz, és rendezzük a jelentéseket beszéddátum szerint.
Ez a következő Google Sheets QUERY formula kap nekem oszlopok A, B és C, de ugyanakkor rendezi őket dátum szerint a B oszlopban:
=QUERY(Papírok!A1:G11, "select A,B,C order by B")
Limit
Mi lenne, ha azt mondanám, hogy nem kell minden egyes sort bevinni az eredménybe? Mi lenne, ha azt mondanám, hogy a Google Sheets QUERY csak egy bizonyos mennyiséget tud kihúzni az első találatokból, amit talál?
Nos, a limit záradék célja, hogy segítsen ebben, mivel a visszaadandó sorok számát a megadott számmal korlátozza.
Tipp. Használja bátran a limit más korábbi záradékok nélkül.
Ez a képlet az első 5 olyan sort fogja megjeleníteni, ahol az osztályzatokat tartalmazó oszlop tartalmaz egy jelet (nem üres):
=QUERY(Papers!A1:G11, "select A,B,C,G where G is not null limit 5")
Offset
Ez a záradék ellentétes az előzővel. Míg a limit a megadott sorok számát kapja meg, offset kihagyja őket, és visszaszerzi a többit.
Tipp. Offset szintén nem igényel semmilyen más záradékot.
=QUERY(Papers!A1:G11, "select A,B,C,G where G is not null offset 5")
Ha megpróbálja használni mindkettőt limit és offset a következő fog történni:
- Offset az elején lévő sorokat kihagyja.
- Limit a következő sorok számát adja vissza.
=QUERY(Papers!A1:G11, "select A,B,C,G where G is not null limit 3 offset 3")
A 11 adatsorból (az első egy fejléc, és a Google Sheets QUERY funkciója szép munkát végez ennek megértésében), az offset kihagyja az első 3 sort. A limit 3 következő sort ad vissza (a 4. sorral kezdődően):
Google Sheets QUERY - Címke
Google Sheets QUERY címke parancs segítségével megváltoztathatja az oszlopok fejlécének nevét.
Tipp. A többi záradék nem kötelező a címke is.
Tegye a címke először az oszlop azonosítóját, majd az új nevet. Ha több oszlopot nevez át, az új oszlopcímke-párokat vesszővel válassza el egymástól:
=QUERY(Papírok!A1:G11, "select A,B,C label A 'Név', B 'Dátum'")
Formátum
A formátum záradék lehetővé teszi egy oszlop összes értékének formátumának megváltoztatását. Ehhez szükség van egy, a kívánt formátum mögött álló mintára.
Tipp. A formátum záradék is játszhat szólót a Google Sheets QUERY.
=QUERY(Papers!A1:G11, "select A,B,C limit 3 format B 'mm-dd, yyyy, ddd'")
Tipp. Ebben a blogbejegyzésben említettem néhány dátumformátumot a Google Sheets QUERY számára. Más formátumok közvetlenül a táblázatokból vehetők: Formátum> Szám> További formátumok> Egyéni számformátum .
Opciók
Ez az eredményadatok néhány további beállításának megadására szolgál.
Például az olyan parancsok, mint no_values csak a formázott cellákat adja vissza.
A leggyorsabb módja annak, hogy építeni QUERY képletek - Több Vlookup Matches
Bármilyen erős is a Google Sheets QUERY funkciója, a megismerése igényelhet némi tanulási folyamatot. Egy dolog az egyes záradékokat külön-külön illusztrálni egy kis táblán, és teljesen más dolog megpróbálni mindent helyesen felépíteni néhány záradékkal és egy sokkal nagyobb táblával.
Ezért úgy döntöttünk, hogy a Google Sheets QUERY-t felhasználóbarát felületre öltöztetjük, és a kiegészítőt kiegészítjük.
Miért jobb a többszörös VLOOKUP egyezések, mint a képletek?
Nos, a kiegészítéssel van egyáltalán nem szükséges :
- kitalálni bármit is azokról a záradékok A kiegészítőben nagyon könnyen létrehozhatsz sok összetett feltételt: annyit, amennyire szükséged van, annak ellenére, hogy a sorrendjükkel annyi mérkőzést tudsz lekérni, amennyire szükséged van.
Megjegyzés: Jelenleg a következő záradékok kerültek be az eszközbe: select, where, limit, és offset Ha az Ön feladata más záradékokat is igényel, kérjük, írja meg az alábbiakban - talán segít nekünk javítani ;)
- tudja, hogyan kell adja meg a kezelőket : csak válassza ki az egyiket a legördülő listából.
- fejtörést okozni a megfelelő a dátum és az idő megadásának módja A bővítmény lehetővé teszi, hogy a táblázatkezelő helyi beállításai alapján úgy adja meg őket, ahogyan szokta.
Tipp: Az eszközben mindig van egy súgó, amely példákat tartalmaz a különböző adattípusokra.
Mint egy bónusz , akkor képes leszel:
- előnézet mind a eredmény és a képlet
- készítsd el a gyors módosítások az Ön kritériumaihoz
- válasszon egy az eredmény helye
- beillesztése az eredmény mindkettő QUERY formula vagy mint értékek
Nem viccelek, nézd meg magad. Bár ez a GIF fel lett gyorsítva, kevesebb, mint egy percbe telt, hogy finomhangoljam az összes kritériumot, és megkapjam az eredményt:
Ha elég kíváncsi vagy, itt egy részletes videó, amely bemutatja a bővítmény működését:
Remélem, adsz egy esélyt a kiegészítőnek, és beszerzed a Google Workspace Marketplace-ről. Ne légy szégyenlős, és oszd meg velünk a visszajelzéseidet, különösen, ha van valami, ami nem tetszik.
Továbbá bátran nézze meg a bemutató oldalát vagy a honlapját.