Ako želite da obrađujete podatke u Google tabelama, funkcija QUERY je izuzetno korisna. Ona omogućava napredno pretraživanje podataka, slično radu sa bazama podataka, direktno u vašoj tabeli. Tako možete lako da pretražujete i filtrirate podatke prema vašim potrebama. U ovom tekstu ćemo objasniti kako se koristi ova funkcija.
Upotreba funkcije QUERY
Funkcija QUERY nije teška za savladavanje, posebno ako ste se već susretali sa radom sa bazama podataka koristeći SQL. Struktura QUERY funkcije je slična SQL upitima, što donosi moć pretraživanja baza podataka u okruženje Google tabela.
Osnovni format formule koja koristi QUERY funkciju je: =QUERY(podaci, upit, zaglavlja)
. Umesto „podaci“ unosite opseg ćelija (na primer, „A2:D12“ ili „A:D“), a umesto „upit“ unosite tekst upita za pretragu.
Opcioni argument „zaglavlja“ određuje broj redova koji se koriste kao zaglavlja u vašem opsegu podataka. Ako imate zaglavlje koje se proteže na dva reda, recimo „Ime“ u A1 i „Prezime“ u A2, ovaj argument će reći funkciji QUERY da koristi sadržaj prva dva reda kao kombinovano zaglavlje.
U primeru koji sledi, list pod nazivom „Lista zaposlenih“ sadrži listu zaposlenih sa njihovim imenima, ID brojevima, datumima rođenja i informacijom o tome da li su prisustvovali obaveznoj obuci.
Na drugom listu možete koristiti QUERY formulu da biste dobili listu svih zaposlenih koji nisu prošli obaveznu obuku. Ova lista će sadržati njihove ID brojeve, imena, prezimena i informaciju o tome da li su prisustvovali obuci.
Da biste to postigli sa podacima prikazanim iznad, unesite formulu: =QUERY('Lista zaposlenih'!A2:E12, "SELECT A, B, C, E WHERE E = 'Ne'")
. Ova formula ispituje podatke u opsegu od A2 do E12 na listu „Lista zaposlenih“.
Slično SQL upitima, QUERY funkcija bira kolone koje će prikazati (SELECT) i određuje uslove pretrage (WHERE). Ona vraća kolone A, B, C i E, dajući listu svih redova gde je vrednost u koloni E („Obuka završena“) tekst „Ne“.
Kao što se vidi na gornjoj slici, četiri zaposlena sa originalne liste nisu prisustvovala obuci. QUERY funkcija je izdvojila ove podatke i prikazala ih sa odgovarajućim kolonama imena i ID brojeva na posebnom listu.
Ovaj primer koristi precizno definisan opseg podataka. Možete to promeniti da biste pretraživali sve podatke u kolonama od A do E. To bi vam omogućilo da dodajete nove zaposlene na listu, a QUERY formula će se automatski ažurirati pri svakom dodavanju novih zaposlenih ili kada neko završi obuku.
Ispravna formula za ovo je: =QUERY('Lista zaposlenih'!A2:E, "SELECT A, B, C, E WHERE E = 'Ne'")
. Ova formula ignoriše naslov „Zaposleni“ u ćeliji A1.
Ako dodate novog zaposlenog, na primer Kristinu Smit, koja nije završila obuku, kao što je prikazano na slici ispod, QUERY formula će se automatski ažurirati i prikazati i nju.
Napredne formule QUERY
Funkcija QUERY je veoma fleksibilna. Omogućava vam da koristite različite logičke operacije (kao što su AND i OR) ili druge Google funkcije (kao što je COUNT) u okviru upita. Takođe možete koristiti operatore poređenja (veće od, manje od itd.) da biste pronašli vrednosti između dva broja.
Upotreba operatora poređenja sa QUERY
Možete koristiti QUERY sa operatorima poređenja (manje od, veće od ili jednako) da biste preciznije filtrirali podatke. Da bismo to demonstrirali, dodaćemo novu kolonu (F) na listu „Lista zaposlenih“ sa brojem nagrada koje je svaki zaposleni osvojio.
Koristeći QUERY, možemo da pretražimo sve zaposlene koji su osvojili barem jednu nagradu. Formula za to izgleda ovako: =QUERY('Lista zaposlenih'!A2:F12, "SELECT A, B, C, D, E, F WHERE F > 0")
.
Ovo koristi operator poređenja „veće od“ (>) da bi pronašlo sve vrednosti veće od nule u koloni F.
Gornji primer pokazuje da je QUERY funkcija vratila listu od osam zaposlenih koji su osvojili jednu ili više nagrada. Od ukupno 11 zaposlenih, troje nije dobilo nijednu nagradu.
Upotreba AND i OR sa QUERY
Logički operatori poput AND i OR se mogu koristiti unutar QUERY formule za postavljanje složenijih uslova pretrage.
Dobar primer za AND je pretraga podataka između dva datuma. Ako koristimo naš primer liste zaposlenih, možemo pronaći sve zaposlene rođene između 1980. i 1989. godine.
Ovo takođe koristi operatore poređenja, kao što su veće ili jednako (>=) i manje ili jednako (<=).
Formula za ovaj upit je: =QUERY('Lista zaposlenih'!A2:E12, "SELECT A, B, C, D, E WHERE D >= DATE '1980-1-1' AND D <= DATE '1989-12-31'")
.
Kao što se vidi iz primera, tri zaposlena, rođena 1980, 1986 i 1983, zadovoljavaju ove kriterijume.
Takođe možete koristiti OR da biste dobili slične rezultate. Ako koristimo iste podatke, ali promenimo datume i koristimo OR, možemo isključiti sve zaposlene rođene 1980-ih.
Formula za ovaj upit bi bila: =QUERY('Lista zaposlenih'!A2:E12, "SELECT A, B, C, D, E WHERE D >= DATE '1989-12-31' OR D < DATE '1980-1-1'")
.
Od originalnih 10 zaposlenih, troje je rođeno 1980-ih. Gornji primer prikazuje preostalih sedam, koji su rođeni pre ili posle navedenih datuma.
Upotreba COUNT sa QUERY
Umesto da samo pretražujete i vraćate podatke, možete kombinovati QUERY sa drugim funkcijama, kao što je COUNT, da biste manipulisali podacima. Na primer, ako želite da saznate koliko je zaposlenih na listi pohađalo obaveznu obuku, a koliko nije.
Da biste to uradili, možete kombinovati QUERY sa COUNT na sledeći način: =QUERY('Lista zaposlenih'!A2:E12, "SELECT E, COUNT(E) GROUP BY E")
.
Fokusirajući se na kolonu E („Obuka završena“), funkcija QUERY je koristila COUNT da prebroji koliko puta se svaki tip vrednosti (tekst „Da“ ili „Ne“) pojavljuje. Sa naše liste, šestoro zaposlenih je završilo obuku, a četvoro nije.
Ovu formulu možete lako izmeniti i koristiti je sa drugim tipovima Google funkcija, kao što je SUM.