Pretraživanje oblasti
Pretraživanje nizova podataka najčešće se vrši uz pomoć LOOKUP funkcija, što se svodi na to da unesemo vrednost kriterijuma pretrage, oblast pretraživanja i kolonu u kojoj se nalaze vrednosti rezultata. Nakon što unesemo formulu Excel pronalazi i prikazuje traženu vrednost. Postoji još nekoliko načina za pretraživanje nizova podataka, kada se ono vrši u odnosu na njihovu poziciju, o čemu će više biti reči u tekstu koji sledi…
Kada znamo poziciju vrednosti rezultata u odnosu na vrednost kriterijuma pretrage, koristimo OFFSET funkciju, čija je sintaksa:
OFFSET (<oblast>,<red>,<kolona>,<visina>,<širina>)
Da bi ste razumeli kako ova funkcija radi treba da objasnimo šta predstavljaju njeni argumenti. Oblast predstavlja adresu ćelije ili opsega ćelija od kojih počinje pretraga. Red i kolona su pozitivne ili negativne vrednosti koje označavaju poziciju rezultata u odnosu na zadatu oblast. Ako je to ćelija, radi se o poziciji u odnosu na zadatu ćeliju. Ako je to opseg ćelija, radi se o poziciji u odnosu na gornju levu ćeliju opsega. Visina i širina su broj redova i kolona koje želimo da vratimo kao rezultat. Ukoliko želimo da prikažemo sadržaj jedne ćelije, to će biti broj 1 ponovljen dva puta. Ako je funkcija OFFSET argument neke druge funkcije, npr. funkcije SUM, ima smisla navesti više ćelija za visinu i širinu. Na taj način vršimo specifikaciju niza koji želimo da saberemo. Pogledajmo nekoliko primera:
=OFFSET(C3,-1,-1,1,1)
je formula pomoću koje prikazujemo vrednost ćelije B2 (red gore, kolona levo, u odnosu na ćeliju C3; jedna ćelija x jedna ćelija). Ako bi smo kao argument naveli opseg formula bi izgledala ovako:
=OFFSET(C3:D4,-1,-1,1,1)
Ova formula takođe vraća vrednost ćelije B2. Šta bi bilo da želimo da saberemo prve tri ćelije u zadatoj tabeli? Formula bi izgledala ovako:
=SUM(OFFSET(B2,0,0,3,1))
Pored funkcije OFFSET možemo da upotrebimo još jednu korisnu funkciju za pretraživanje oblasti: funkciju INDEX. Za razliku od funkcije OFFSET, gde vršimo pretraživanje u odnosu na zadate parametre navedene oblasti, funkcija INDEX je puno konkretnija. Ona služi za vraćanje vrednosti ćelije koja se nalazi na preseku željenog reda i kolone. Postoje dva oblika ove funkcije, a razlikuju se po tome što se prvi koristi za opsege, a drugi za imenovane opsege. Njihova sintaksa je:
INDEX (<oblast>,<red>,<kolona>)
INDEX (<oblast>,<red>,<kolona>,<broj oblasti>)
Hajde da prikažemo prvi način primene. On funkcioniše tako što zadamo oblast, a zatim navedemo red i kolonu u čijem preseku tražimo rezultat. Na primer, ako unesemo formulu:
=INDEX(B2:D4,2,2)
Traženi rezultat je sadržaj ćelije C3 (drugi red, druga kolona u odnosu na početak oblasti, ćeliju B2).
Ponekad ćemo da pretražujemo imenovane opsege. Oni mogu da budu jedinstveni, ali mogu se i sastojati od više razdvojenih oblasti. Zamislite da imamo imenovani opseg koji se zove Tabela, a sastoji se iz oblasti B2:D4 i B6:D7. U tom slučaju, navođenjem rednog broja oblasti vršimo pretraživanje u prvom ili drugom delu oblasti. Na primer, formula:
=INDEX(Tabela,1,1,1)
prikazuje sadržaj ćelije u prvom redu i prvoj koloni prvog dela oblasti. Formula:
=INDEX(Tabela,1,1,2)
prikazuje sadržaj ćelije u prvom redu i prvoj koloni drugog dela oblasti.
Kada ćemo primenjivati ove funkcije? Njihova namena je prvenstveno pretraživanje nestrukturiranih tabela. Ako želimo da pretražujemo strukturirane tabele ili klasične tabele koje se koriste za skladištenje podataka, možda je bolje da primenimo neku od LOOKUP funkcija.
Funkcija MATCH koristi se za određivanje pozicije neke vrednosti u zadatom nizu (oblasti) u odnosu na zadati kriterijum, koji može biti „manje od“, „jednako“ ili „veće od“. Sintaksa ove funkcije je:
MATCH(<tražena vrednost>,<oblast pretrage>,<kriterijum>)
Na primer, formula:
=MATCH(2;B2:B4;0)
bi vratila vrednost 2, pošto se zadata vrednost (broj 2) nalazi na drugoj poziciji u nizu koji pretražujemo.
Na kraju spomenimo i funkciju INDIRECT koja vraća vrednost ćelije na osnovu njene adrese koja se zadaje kao tekstualna vrednost (string). Sintaksa ove funkcije je:
INDIRECT (<tekstualna vrednost adrese>, [<parametar>])
Prvi argument funkcije je adresa ćelije, zadata kao tekst. Na primer „B2“. Ako napišemo formulu:
=INDIRECT(„B2“)
kao rezultat u ćeliji dobijamo broj 1, što je vrednost koju čuva ćelija B2. Drugi parametar, koji se može izostaviti je TRUE ili FALSE. TRUE označava da su ćelije adresirane u formatu „A1“ (slovo kao oznaka kolona, broj kao oznaka redova), a FALSE da su adresirane u formatu „R1C1“ (i redovi i kolone su označeni redovima).