3. Funkcije za traženje
Pretraživanje podataka u programu Microsoft Excel jedna je od važnih
aktivnosti, jer jedan radni list može sadržati više različitih tabela pa
samim tim i veliki broj podataka.
Funkcije za traženje koriste se u radu sa Excel-ovim bazama podataka,
za pretraživanje odredjenih zadatih vrednosti.
Excel-ove osnovne funkcije za traženje mogu da se koriste za
pretraživanje podataka ili vrednosti u redovima ili kolonama da bi se
dobila druga vrednost.
Tri osnovne funkcije za traženje jesu:
LOOKUP
VLOOKUP
HLOOKUP
Lookup funkcija uvek bira poslednju vrednost u koloni ili redu, dok
pomoću funkcija Hlookup i Vlookup mogu se pretraživati vrednosti
horizontalno i vertikalno.
3
4. Funkcija Lookup
Funkcija LOOKUP koristi se za traženje vrednosti ili iz opsega koji čini
jedan red ili kolona ili iz niza.
Funkcija ima dva oblika sintakse: oblik vektora i oblik niza.
Vektorski oblik funkcije Lookup traži vrednost u opsegu od jednog reda
ili kolone (što se naziva vektor) i prikazuje vrednosti iz istog položaja ali
u drugom opsegu koji čini jedan red ili kolona. Ovaj oblik se upotrebljava
kada postoji velika lista podataka u kojoj se obavlja traženje ili kada
vremenom može doći do promene podataka, kao i kada želimo da
navedemo opseg koji sadrži vrednosti koje želimo da uporedimo.
Oblik niza funkcije Lookup traži određene vrednosti u prvom redu ili
koloni niza i prikazuje vrednost sa iste pozicije iz poslednjeg reda ili
kolone niza. Ovaj oblik upotrebljava se kada postoji manja lista podataka
koji se vremenom ne menjaju, kao i kada se vrednosti koje je potrebno
da uporedimo nalaze u prvom redu ili koloni tog niza.
Oblik niza funkcija Lookup sličan je funkcijama Hlookup i Vlookup, a
razlika je u tome što Hlookup funkcija traži zadatu vrednost u prvom
redu, a funkcija Vlookup u prvoj koloni, dok funkcija Lookup traži zadatu
vrednost u skladu sa dimenzijama niza. Zato se preporučuje da se za
potrebe pretraživanja koriste funkcije Hlookup i Vlookup umesto oblika
niza funkcije Lookup jer je ovaj oblik predviđen za kompatibilnost sa
drugim programima pri radu sa unakrsnim tabelama.
Funkcija Lookup može se koristiti i kao zamena za funkciju IF kada je
potrebno da se izvrše složeniji testovi ili testovi koji prelaze ograničenje
ugnježdavanja funkcija.
U radu sa funkcijom Lookup neophodno je da podaci tj. vrednosti budu
poređane rastućim redom da bi funkcija ispravno radila.
*Sintaksa za oblik vektora:
LOOKUP(lookup_value;lookup_vector;result_vector)
4
5. Elementi sintakse su:
*lookup value – je vrednost koju funkcija Lookup traži unutar prvog
vektora. To može biti broj, tekst kao i logička vrednost ili referenca koja
upućuje na vrednost.
*lookup vector – je opseg koji sadrži samo jedan red ili kolonu. Vrednost
u lookup_vector-u mogu da budu tekst, brojevi ili logičke vrednosti.
Napomena: Vrednosti u lookup vector-u moraju biti poređane po
rastujućem redosledu: (-1,0,1,2..., A-Z, FALSE, TRUE;) u suprotnom
funkcija Lookup neće dati ispravne vrednosti. Mala i velika slova su
jednaka.
*result_vector – opseg koji sadrži jedan red ili kolonu, koji mora biti iste
veličine kao i lookup_vector.
Napomena:Ako funkcija Lookup ne može da nađe tačno zadatu vrednost
(lookup_value), onda pronalazi najveću vrednost koja je manja od zadate
(lookup_value) ili je jednaka njoj. Ukoliko je zadata vrednost
(lookup_value) manja od najmanje vrednosti iz opsega (lookup_vector)
onda funkcija daje vrednost greške #N/A.
*Sintaksa za oblik niza:
LOOKUP(lookup_value;array)
Elementi sintakse su:
*lookup_value – je vrednost koju funkcija Lookup traži u nizu. Ta
vrednost može biti broj, tekst, logička vrednost ili referenca koja upućuje
na vrednost.
*array – opseg ćelija (niz) koje sadrže tekst, brojeve ili vrednosti koje se
upoređuju sa zadatom vrednošću (lookup_value).
Napomena:Kada funkcija ne može da nađe zadatu vrednost
(lookup_value) onda koristi najveću vrednost u tom nizu koja je manja
od tražene zadate vrednosti (lookup_value) ili je jednaka njoj. Ako je
tražena vrednost (lookup_value) manja i od najmanje vrednosti iz
zadatog niza (to može biti prva kolona ili red, uzavisnosti od dimanzija
niza) funkcija će dati vrednost greške #N/A.
5
6. Ako argument “array“ (niz) pokriva više kolona nego redova (oblast niza
ima veću širinu nego visinu) onda Lookup funkcija zadatu vrednost
(lookup_value) traži u prvom redu.
Ako je argument “array“ u obliku kvadrata ili pokriva više redova nego
kolona (oblik niza ima veću visinu nego širinu) onda Lookup funkcija
zadatu vrednost traži u prvoj koloni.
Napomena: Vrednosti u nizu (array) moraju biti poređane po
rastujućem redosledu (-1,0,1,2,.., A-Z, FALSE, TRUE,) inače u suprotnom
funkcija neće vratiti tačnu vrednost.
6
7. Funkcija Hlookup
Funkcija Hlookup koristi se za traženje zadate vrednosti u prvom redu
tabele ili u nizu vrednosti, a onda vraća vrednost iz zadatog reda
odgovarajuće kolone. Ova funkcija se koristi kada je potrebno da se
uporede vrednosti koje se nalaze na vrhu tabele podataka i to u
određenom broju.
Slovo “H“ u nazivu Hlookup označava horizontalno.
*Sintaksa funkcije Hlookup:
HLOOKUP(lookup_value;table_array;row_index_num;range_lookup)
Elementi sintakse su:
*lookup_value – je vrednost koju funkcija traži u prvom redu tabele i to
može biti vrednost, tekstualni niz ili referenca.
*table_array – područje tabele za pretraživanje. Koristite referencu za
opseg ili naziv opsega.
Vrednosti u prvom redu kolone (table_array) mogu biti u obliku teksta,
brojeva ili logičkih vrednosti.
*row_index_num – broj reda uokviru tabele (table_array) iz kog će
vrednosti koje se traže biti dobijene.
Ako je broj reda (row_index_num) 1 funkcija Hlookup daje vrednost iz
prvog reda tabele (table_array), ako je broj reda 2, funkcija daje
vrednost iz drugog reda tabele itd. U slučaju da je broj reda
(row_index_num) manji od 1 onda funkcija pokazuje grešku #VALUE! , a
ako je broj reda (row_index_num) veći od broja redova table_array
funkcija pokazuje grešku #REF!.
*range_lookup – (po izboru) je logička vrednost koja precizno određuje
da li želite da funkcija Hlookup pronađe tačno podudaranje vrednosti sa
zadatom (lookup_value) ili približno podudaranje. Uzavisnosti od toga
upisuje se TRUE kada želimo tačno ili približno popudaranje vrednosti
sa zadatom vrednošću i FALSE kada želimo isključivo tačno
podudaranje. U slučaju da TRUE bude ispušteno ili ne bude uneta logička
vrednost tada se po difoltu (podrazumeva) traži tačna ili podudarna
7
8. vrednost zadate vrednosti. Ako ne postoji podudarna vrednost funkcija
će pronaći sledeću najveću vrednost koja je manja od zadate
(lookup_value) kao rezultat. Ukoliko je za odabranu logičku vrednost
upisano FALSE funkcija će tražiti isključivo tačno podudarnu vrednost,
ako je ne nadje prikazaće grešku #N/A.
Ako je opseg pretrage (range_lookup) ima vrednost TRUE, onda
vrednosti iz prvog reda (table_array) moraju biti poređanje rastujućim
redosledom, inače funkcija neće dati tačnu vrednost. Ali ukoliko opseg
pretraga (range_lookup) ima vrednost FALSE, onda vrednosti u prvom
redu (table_array) nemoraju biti poređanje rastujućim redosledom.
Vrednosti se mogu poređati sa leva na desno, po rastujućem redosledu
tako što se prethodno označite vrednosti, a zatim u meniju Podaci
izaberete stavku Sortiranje (Sort). Nakon klika na dugme Opcije,
izaberete Sortiranje s leva ne desno. U okviru [Sortiraj po] izaberete
red na listi, a zatim izaberete Rastući redosled.
Napomena: Ako funkcija Hlookup ne može da pronađe vrednost
lookup_value, a range_lookup ima vrednost TRUE onda funkcija koristi
najveću vrednost koja je manja od zadate (lookup_value).
Ako je zadata vrednost (lookup_value) manja od najmanje vrednosti iz
prvog reda (table_array) onda funkcija pokazuje grešku #N/A.
8
9. Funkcija Vlookup
Funkcija VLOOKUP se koristi za pretraživanje određenih vrednosti u
prvoj levoj koloni, pošto se pretpostavlja da se u tim ćelijama nalaze
podaci od ključnog značaja (podaci koji se ne ponavljaju i koji
jedinstveno određuju podatke po redovima). Kao rezultat funkcija
Vlookup daje vrednost koja se nalazi u preseku odgovarajuće kolone I
reda (onog u kome se nalazi tražena vrednost).
Slovo ”V” u nazivu označa vertikalno tj. pretraživanje po vertikali.
Funkcija Vlookup namenjena je malo naprednijim korisnicima zbog
složenije sintakse.
*Sintaksa funkcije Vlookup:
VLOOKUP(lookup_value;table_array;col_index_num;range_lookup)
Elementi sintakse:
*lookup_value – je vrednost koja se traži u ćelijama prve kolone u tabeli.
Lookup_value može biti vrednost ili referenca.
*table_array – predstavlja oblas koju funkcija Vlookup pretražuje, mogu
biti dve ili više kolona sa podacima. Vrednosti u prvoj koloni to su one
vrednosti koje se traže pomoću lookup_value i mogu biti u obliku teksta,
brojeva ili logičkih vrednosti. Velika i mala slova su jednaka.
Ako je zadata vrednost (lookup_value) manja od najmanje vrednosti u
koloni (table_array) funkcija će prikazati grešku #N/A.
*col_index_num – je broj kolone u opsegu pretrage (table_array) iz koga
mora da se dobije tražena vrednost (lookup_value).
Ako je broj kolone (col_index_num) 1, dobija se vrednost iz prve kolone
table_array. Ukoliko je broj kolone (col_index_num) 2, dobija se vrednost
iz druge kolone table_array i tako redom. Međutim ako je broj kolone
manji od 1 funkcija će prikazati grešku #VALUE!, ili ako je broj kolona
(col_index_num) veći od broja kolona u tabeli (table_array) javiće se
greška #REF!.
9
10. *range_lookup – (nije obavezno) je logička vrednost (TRUE ili FALSE)
kojom se precizno određuje da li želimo da funkcija Vlookup pronađe
tačno zadatu vrednost ili priblizno podudaranje sa zadatom vrednošču
(lookup_value) ili isključivo tačno podudaranje. Ako range_lookup ima
logičku vrednost TRUE funkcija će tražiti tačno podudarnu vrednost sa
traženom vrednosću (lookup_value), a ukoliko je ne nađe kao rezultat
uzeće sledeću najveću vrednost koja je manja od tražene vrednosti tj.
priblizno podudarna sa traženom vrednošću (lookup_value). Ako je
logička vrednost TRUE ispuštena ili nije upisana funkcija će
podrazumevano tražiti tačno podudaranje sa traženom vrednošću,a ako
je ne nađe kao rezultat daći približno podudarnu vrednost.
Ako range_lookup ima logičku vrednost FALSE funkcija će tražiti
isključivo tačno podudarnu vrednost zadatoj vrednosti (lookup_value), a
ukoliko je ne nađe, prikazeće grešku #N/A.
Kako logička vrednost nije obavezna, ukoliko se u formulu funkcije
Vlookup za range_lookup upiše TRUE onda podaci u prvoj koloni moraju
biti poređani rastujućim redosledom (ascending), a ukoliko se upiše
FALSE onda rastući redosled podataka u prvoj koloni nije obavezan.
Napomene: Kada se traže tekstualne vrednosti u prvoj koloni tabele
(table_array) potrebno je da se obrati pažnja da li podaci u toj koloni ne
sadrže razmake na početku ili na kraju, da li se pravilno koriste obični
(“) i tipografski (”) navodnici i ostali znakovi koji se ne štampaju, jer u
tim slučajevima funkcija Vlookup može dati netačne podatke.
Kada se traže brojčani podaci kao na primer datumi potrebno je
proveriti da li podaci u prvoj koloni (table_array) nisu sačuvani kao
tekstualne vrednosti, jer u tom slučaju funkcija može prikazati netačnu
vrednosti.
U slučaju da je vrednost range_lookup FALSE, a tražena vrednost
(lookup_value) testualni podatak postoji mogućnost korišćenja znakove
za zamenu poput upitnika (?) i zvezdice (*). Upitnik može da zamenjuje
samo jedan znak, a zvezdica grupu znakova. Ako želite da pronađete
stvarni znak koji upitnik ili zvezdica zamenjuju potrebno je ukucati znak
tilda (~) ispred znaka.
10