Pretraživanje nizova podataka

U praksi se često dešava da imamo tabele koje se nalaze u međusobnoj vezi. Slično kao kod baza podataka, vrednost kolone jedne tabele može da bude ključ pomoću koga možemo da pristupamo kolonama neke druge tabele. U ovom tekstu biće reč o funkcijama koje se koriste za pretraživanje opsega- nizova podataka. Ako ovladate njima, sasvim je izvesno da će vam ovo brzo postati jedan od omiljenih Excel alata.

Za pretraživanje nizova podataka koriste se funkcije VLOOKUP, HLOOKUP i LOOKUP. Prva, najčešće korišćena, pretražuje tabele gde se zapisi nalaze u vrstama. Druga se koristi za pretraživanje tabela kod kojih se zapisi nalaze u kolonama, a treća služi za pretraživanje zadate vrednosti u nekom drugom skupu vrednosti. Pozabavimo se najpre funkcijom VLOOKUP. Evo njene sintakse:

VLOOKUP (<vrednost pretrage><opseg pretrage><kolona>,[<parametar pretrage>])

Ova funkcija ima tri obavezna i jedan fakultativni argument. Prvi parametar je vrednost koju tražimo (ključ), drugi je opseg pretrage (opseg tabele u kojoj tražimo vrednost), a treći je kolona opsega (tabele) u kojoj se vrednost nalazi. Na primer:

=VLOOKUP(A9,A1:C6,3)

je formula pomoću koje tražimo vrednost ćelije A9 (“Marko Mikić”) u tabeli opsega A1:C6, a želimo da prikažemo vrednost treće kolone u tabeli, što predstavlja bruto platu.

00058-1

Ovako formulisana funkcija služi za pretraživanje uređenih (sortiranih) tabela. Pošto to nije uvek slučaj, prilikom unosa funkcije može se navesti i četvrti, fakultativni parametar. U pitanju je logička vrednost koja, ako je tačna (TRUE), upućuje funkciju da vrši pretraživanje prema približnoj vrednosti (kao argument možemo uneti i deo naziva tražene vrednosti, npr. reč “Marko”), a ako nije (FALSE) pretraživanje se vrši po tačnoj vrednosti (traži se vrednost identična zadatoj vrednosti pretrage). U praksi, ako niste sigurni koji efekat želite da postignete, uvek zadajte i četvrti argument funkcije i dodelite mu vrednost FALSE.

Funkcija HLOOKUP ima istu sintaksu kao funkcija VLOOKUP. Razlika je jedno u tome što se pretraživanje vrši po kolonama, pa je potrebno zadati vrednost pretrage, opseg pretrage i vrstu koju želimo da se prikaže. I ovde, kao u prethodnom slučaju, možemo da zadamo fakultativni parametar TRUE ili FALSE na kraju funkcije.

Funkcija LOOKUP pretražuje vrednosti u zadatom opsegu na dva načina:

LOOKUP (<vrednost pretrage>,<opseg vrednosti pretrage>,<opseg rezultata>)

LOOKUP (<vrednost pretrage>,<opseg rezultata>)

U prvom slučaju, prvi argument je vrednost koju tražimo. Zatim navodimo opseg gde se ta vrednost nalazi, a kao poslednji argument navodi se opseg rezultata. Ovako unesena funkcija vrši pretraživanje opsega vrednosti dok ne pronađe zadatu vrednost, a onda na osnovu njene pozicije u vektoru pretrage (opsegu vrednosti) vraća istu tu poziciju iz opsega rezultata. Ovom prilikom, nije bitno da li se opsezi vrednosti pretrage i rezultata nalaze u vrstama ili kolonama. Na primer:

=LOOKUP(A10,A4:A8,B1:F1)

traži vrednost “Marko Mikić” u opsegu A4:A8. Pošto je ona u opsegu na 5. poziciji, kao rezultat dobijamo 5. poziciju u opsegu B1:F1. Opseg rezultata u ovom primeru namerno je zadat u vrsti.

Ova funkcija se može iskoristiti i za pretraživanje opsega sa dve kolone, gde se u prvoj koloni nalazi opseg vrednosti pretrage, a u drugoj opseg rezultata (drugi način upotrebe funkcije). U tom slučaju unosimo formulu:

=LOOKUP(A10,A4:B8)

Ovako uneta formula traži vrednost “Marko Mikić”, u opsegu A4:B8. Pošto pronalazi vrednost “Marko Mikić” u koloni A8, kao rezultat će biti prikazana odgovarajuća vrednost iz kolone pored, odnosno ćelije B8.

00058-2

U slučaju da ne pronađe zadatu vrednost Excel vraća grešku #N/A. Ova greška se najčešće javlja kada pretražujemo tabelu koja nije sortirana, a izostavimo da unesemo fakultativni argument funkcije.