Author
kupovina-iz-fotelje
View
237
Download
1
Embed Size (px)
DESCRIPTION
kako koristiti v look up funkciju
Upotreba VLOOKUP funkcije u Excel-u
VLOOKUP je jedna od najkorisnijih Excel funkcija. To je takodje, i jedna od najmanje razumljivih
excel funkcija. U ovom tekstu emo pokuati da demistifikujemo VLOOKUP funkciju na nain to
emo karakteristike njenog rada objasniti kroz realizaciju jednog realnog finansijskog dokumenta
kreiraemo potpuno upotrebljiv ablon fakture za neko hipotetiko preduzee.
Sa funkcijama kao matematikom kategorijom smo se poeli susretati u djetinjstvu ve prvih dana
kolovanja. Druenje sa funkcijama je u poetku najee bilo kroz matematiku kao kolski predmet,
mada ni neki drugi kolski predmeti nisu oskudjevali u koritenju kategorija iji je imenitelj funkcija.
Nae prve funkcije su bile: apsolutna vrijednost, kvadratni korjen,sinus, kosinus, tanges Kada smo
poeli uiti programske jezike funkcije su se pojavile kao sastavni dio razvoja programskog
proizvoda a predefinisane funkcije koje su dolazile uz programske jezike su najee bile grupisane
prema podrci koju su one pruale u odnosu na specifine tipove podataka (stringovi su imali svoj set
funkcija, brojevi svoj, datumi svoj). Skoro svi programski jezici (pascal, basic, JAVA, C++,
PHP) su imali skoro identian set funkcija opte namjene. Kad smo uli u Excel vode, nije nam
bilo udno kad smo otkrili da i on ima funkcije (povei 2 niza, oduzmi dva datuma, pretvori
niz u broj itd).Tekst koji slijedi pretpostavlja da italac razumije osnovne mehanizme rada Excel
funkcija i da italac zna da koristi osnovne Excel funkcije kao to su npr SUM, AVERAGE,
TODAY. Ono to VLOOKUP funkciju razlikuje od ostalih Excel funkcija je prije svega injenica da
u drugim sferama ljudskog (kompijuterskog) djelovanja (u drugim programskim jezicima ili u
matematici, fizici) ne susreemo funkciju koja bi bila pandam VLOOKUP funkciji. Upravo zbog
ove injenice se suoavamo sa poetnom odbojnou korisnika da prihvati ovu funkciju u svom
svakodnevnom radu. VLOOKUP je funkcija koja ima svoje argumente (parametre) i vraa vrijednost.
U najoptijem smislu VLOOKUP je database funkcija, to znai da radi nad tabelama baze podataka
ili, da ne budemo tako strogi nad listom podataka (to u excel terminologiji pretstavlja worksheet ili
neki dio worksheet-a).
Koje zahtjeve lista podataka treba zadovolji da bi se koristila u VLOOKUP funkciji? Za poetak to
treba prije svega da bude neki skup podataka. Lista moe da pretstavlja listu proizvoda, listu
zaposlenih radnika, listu video kaseta Svaka od ovih lista moe da ima specifine dodatne atribute
(lista zaposleni radnici, npr moe imati atribute ime i prezime radnika, JMBG, adresu, radno
mjesto itd). Za VLOOKUP je nebitno koji su to dodatni podaci dodatni atributi. Postojanje liste
podataka je preduslov da se moe koristiti VLOOKUP funkcija.
Slijedea slika prikazuje listu podataka listu proizvoda neke kompanije koju emo u nastavku teksta
eksploatisati kako bi objasnili nain rada VLOOKUP funkcije:
Liste podataka treba da sadre u sebi neku vrstu identifikatora svaki red u listi treba da sadri neki
atribut (neko svojstvo) koji podatak u konkretnom redu na jedinstven nain razlikuje od podataka u
ostalim redovima u listi. U prethodnoj listi, podaci koji su uneseni u kolonu (u atribut) Item Code
imaju svojstvo jedinstvene identifikacije svih ostalih atributa izabranog reda proizvoda. Atribut
koji u listi ima svojstvo jedinstvene identifikacije se naziva klju.
Sada smo u mogunosti da preciznije definiemo glavne zahtjeve koje lista mora ispuniti da bi se nad
njom mogla realizovati VLOOKUP funkcija:
Mora postojati kolona koja e imati ulogu kljua. To znai da naa lista proizvoda moe
imati 2 proizvoda sa istim imenom, moe imeti 5 proizvoda sa istom cjenom ali svaki od tih
proizvoda u koloni Item code mora imati jedinstvenu ifru koja ga razlikuje od ostalih
proizvoda u listi
Kolona koja ima ulogu kljua mora biti prva kolona u listi. To znai da na naoj prethodnoj
slici, ako nam lista poinje od A kolone, kolona Item Code nije smjela bit u B ili C
koloni Excel sheet-a nego ba u onoj koloni u kojoj smo je i prikazali u koloni A.
Najtei dio kod shvatanja naina rada VLOOKUP funkcije je tano razumjevanje prethodno
definisana 2 zahtjeva. Bilo bi dobro da provjerimo da li nam je jasno ta zahtjevi znae. Formalna
definicije VLOOKUP funkcije u referentnoj dokumentaciji glasi:
VLOOKUP vraa informaciju iz baze podataka/liste na osnovu vrijednosti jedinstvenog
identifikatora koji je prosljedjen kao parametar.
Drugaije reeno, ukoliko u neku eliju excel sheet-a ukucamo VLOOKUP funkciju i ukoliko
funkciji kao argumenat proslijedimo jedinstveni identifikator nae liste podataka, funkcija e nam
vratiti vrijednost jednog od atributa koji je povezan sa vrijednou jedinstvenog identifikatora koji
smo proslijedili kao parametar. Ako to poveemo sa naim primjerom koji se odnosi na listu
proizvoda, mi emo VLOOKUP funkciji proslijediti konkretni Item code a VLOOKUP e nam
vratiti ili naziv proizvoda ili cjenu proizvoda ili raspoloivost proizvoda (broj komada na zalihama).
Koja od ovih informacija e biti vraena upotrebom VLOOKUP funkcije zavisi od naina na koji
smo definisali parametre funkcije a to e nam biti jasno itajui nastavak teksta.
Prije nastavka diskusije, jedna digresija.
VLOOKUP funkcija nije ekonomina za upotrebu za sve vrste pretraivanja baza podataka. Ukoliko
je Va cilj da u bazi podataka ili u listi podataka pronadjete samo jedan konkretan podatak i uz njega
vezane dodatne atribute mnogo je racionalnije upotrebiti komandu FIND iz Excel tool bara kojoj ete
prosljediti vrijednost koju traite. Za pravilan rad VLOOKUP funkcije su potrebna podeavanja koja
je ekonomino raditi samo ukoliko se za rezultat obrade treba dobiti skup podataka zasnovan na nekoj
vrsti templatea u kojem svaki elemenat tog templatea trai dodatne podatke iz baze podataka. Da bi se
funkcija VLOOKUP pravilno podesila treba realizovati niz koraka koji su opisani u nastavku ovog
materijala. Ovaj skup aktivnosti nije racionalno primjenjivati za sluaj kada treba u bazi podataka da
nadjemo 1, 2 ili 3 podatka.
Kraj digresije.
Krenimo sada na konkretan rad hajde da kreiramo ablon fakture koji emo kasnije moi viestruko
da koristimo.
Prvo moramo da pokrenemo Excel
i kreirajmo za nae
potrebe praznu fakturu samo sa osnovnim elementima:
Scenario kako faktura treba da radi bi bio sljedei: Radnik u preduzeu e koristiti template fakture
na nain to e unositi skup ifara artikala u kolonu A a sistem e za svaku od tih ifara proizvoda
vraati naziv proizvoda i cijenu. Cijena e biti iskoritena za raunanje ukupne cijene za proizvod (uz
pretpostavku da se naruuje validan broj proizvoda ne vei od koliine na zalihama).
U elji da ovaj primjer ne bude previe komplikovan, bazu podataka sa informacijama o svim
proizvodima kojima raspolae preduzee, njihovim cijenama i koliini na zalihama emo uvati na
posebnom sheet-u unutar istog Excel dokumenta unutar istog workbook-a:
U realnosti, mnogo je vjerovatnije da e se
produkcioni podaci nalaziti u nekom drugom fajlu u fajl sistemu raunara. Za shvatanje naina rada
VLOOKUP funkcije taj momenat nam nije od znaaja. Realna situacija e uzrokovati da se mora
uraditi mala dorada u nainu prosljedjivanja parametara funkciji VLOOKUP. Rad funkcije
VLOOKUP nije optereen ispitivanjem da li je baza podataka iz koje se uzimaju podaci u istom excel
sheet-u, u drugom sheet-u unutar workbook-a ili u nekom drugom file-u u operativnom sistemu (tom
problematikom se bave pravila za definisanje parametara VLOOKUP funkcije odnosno pravila
parametrizacije Excel dokumenata).
U cilju testiranja
VLOOKUP funkcije, treba prvo da ukucamo korektnu ifru proizvoda u eliju A11. Kolona A je
kolona iz nae fakture u koju unosimo ifre proizvoda koje neki klijent kupuje a elija A11 je pva
elija u A koloni u koju smijemo za ovu fakturu da unosimo ifre proizvoda. Ovo ogranienje je
posljedica definicije template-a fakture koji smo prikazali na prethodnim slikama a ne VLOOKUP
funkcije. ifra koju unesemo u kolonu A11 treba da bude neka od ifara iz kolone ItemCode.
Sljedei korak je pozicioniranje na eliju u kojoj elimo
da nam se upiu podaci iz baze podataka koritenjem VLOOKUP funkcije. Interesantno je da je ovo
korak koji korisnicima koji definiu nain upotrebe VLOOKUP funkcije stvara najvie problema. Da
pojasnimo: treba da kreiramo VLOOKUP formulu koja treba da nam vrati ime proizvoda iz baze
podataka koje odgovara ifri proizvoda koji smo ukucali u eliji A11. Gdje elimo da ime proizvoda
bude ispisano? U eliji B11 naravno. Stoga gdje treba unjeti VLOOKUP funkciju u eliju B11.
Odaberimo eliju B11:
Vremenom emo
nauiti sintaksu VLOOKUP funkcije pa emo biti u mogunosti da direktno ukucamo vrijednosti svih
parametara funkcije uz minimalnu asistenciju Excel tooltips-a. Ovom prilikom, obzirom da uimo
kako VLOOKUP funkcija radi, potpuno emo se osloniti na Excel arobnjaka.
Potrebno je da izaberemo listu svih raspoloivih funkcija koje Excel ima u svom asortimanu a iz koje
emo u narednom koraku odabrati VLOOKUP funkciju. Izborom ove funkcije e nam biti ponudjena
pomo za definisanje vrijednosti njenih parametara. Da bi se ovo uradilo, treba prvo da izaberemo
tab Formulas a zatim iz podmenija da izaberemoInsert Function:
Forma
za komunikaciju koja se pojavljuje na ekranu Vam omoguuje da odaberete bilo koju od Excel
funkcija. Lista raspoloivih funkcija je ogromna i pretraga moe da potraje.
Da bi postupak ubrzali na
raspolaganju nam je mogunost da ukucamo kljunu rije za pretragu. Ako u prethodnoj formi
ukucamo lookup (zato to je funkcija koja nama trebalookup funkcija) poetna lista se znatno
skrauje. Sistem e nam vratiti sve lookup funkcije a naa VLOOKUP funkcija je na vrhu
liste. Odaberimo eljenu funkciju i pritisnimo taster OK
Dobijamo novu formu za
komunikaciju Function Arguments box, preko koje se od nas trai da definiemo vrijednosti svih
argumenata (parametara) VLOOKUP funkcije. Moete ovu formu zamisliti kao upitnik preko kojeg
treba da damo odgovor na sljedea 3 pitanja:
1. Koji jedinstveni identifiktor traimo u bazi podataka?
2. Gdje je baza podataka ta je skup podataka koji ini listu?
3. Koju vrijednost atributa iz baze podataka povezanu sa identifikatorom koji traimo treba da
vratimo u excel eliju u kojoj definiemo VLOOKUP funkciju?
VLOOKUP funkcija ima 4 argumenta. Prva 3 argumenta su u formi za komunikaciju oznaena bold
slovima ime se naglaava da su podaci obavezni za unos (VLOOKUP funkcija e biti nekompletna
dok se svi oni ne definiu funkcija nee vratiti nikakve podatke ukoliko bilo koji od ova 3
argumenta nije definisan). etvrti argumenat nije ispisan bold fontom to znai da je opcionalan.
Prvi
argumenat koji treba da kompletiramo je Lookup_value argumenat. Funkcija trai od nas da
definiemo gdje se nalazi jedinstveni identifikator (item codes za na primjer) koji e biti iskoriten
da za taj identifikator kasnije pronadjemo njegov naziv. Moramo odabrati ifru proizvoda koju smo
ukucali u eliji A11.
Miem izaberite selector icon desno od polja za unos prvog argumenta:
Zatim
miem odaberite eliju u Excelu gdje se nalazi ifra proizvoda kojeg ste ukucali (A11) i
pritisnite Enter:
Vrijednost A11 je umetnuta kao prvi argumenat.
Sada treba da unesemo vrijednost za argumenat Table_array. Drugaije reeno, treba da kaemo
VLOOKUP funkciji gdje da potrai listu podataka bazu podataka. Miem izaberite selector icon
desno od polja za unos drugog argumenta:
Sada
locirajte mjesto gdje je baza podataka lista vrijednosti i markirajte cjelu listu (nemojte markirati
zaglavlja kolona u kojima su ispisani nazivi kolona). Za ovaj primjer, baza podataka se nalazi u
posebnom worksheet-u, zato je potrebno da prvo izaberemo odgovarajui worksheet tab:
U sljedeem koraku emo markirati cjelu bazu
podataka (iskljuujui zaglavlje sa imenom kolona):
i
pritisnuti Enter. Opseg elija koji pretstavlja bazu podataka (u ovom sluaju Product
Database!A2:D7) je uneen automatski u polje za drugi argumenat.
Na ovom mjestu treba primjetiti da smo ispotovali zahtjev sa poetka teksta da kljuni atribut liste
podataka formira prvu kolonu liste podataka. VLOOKUP funkcija e vrijednost koju smo specificirali
kao prvi argument traiti u prvoj koloni ove liste.
Slijedi definisanje treeg argumenta, Col_index_num. Ovaj argumenat koristimo da
funkciji VLOOKUP prenesemo informaciju o rednom broju atributa iz selektovane baze podataka
ija vrijednost za traeni id (iz prvog argumenta) elimo da se vrati u nau excel eliju. U naem
konkretnom primjeru, elimo da nam se vrati naziv proizvoda, odnosno description. Ukoliko
pogledamo worksheet gdje je baza podataka definisana, primjetiemo da je kolona Description
druga kolona u bazi podataka. Ovo znai da moramo unjeti 2 kao vrijednost
argumenta Col_index_num:
Veoma je bitno da uoimo da nismo u ovom sluaju ukucali 2 zbog toga to je atribut
Description u B koloni worksheet-a ve zato to je to druga kolona u bazi podataka. Da se desilo
da smo definisali bazu podataka koja poinje u koloni K worksheet-a, u ovoj novoj bazi podataka bi
unjeli za vrijednost treeg argumenta takodje oznaku 2.
Konano, treba da odluimo da li da definiemo vrijednost za posljednji argumenat VLOOKUP
funkcije, Range_lookup. Ovaj argumenat moe imati dvije vrijednosti trueili false, ili moe ostati
nedefinisan. Kada koristimo funkciju VLOOKUP nad bazom podataka (listom podataka) , to je
istina u bar 90% sluajeva, tada odluka ta da stavimo kao vrijednost ovog argumenta zavisi od
sljedeeg:
Ako je prva kolona baze podataka (kolona koja sadri jedinstveni identifikator) sortirana u
rastuem redosljedu, tada je potrebno da postavimo za vrijednost ovog parametra
konstantu true ili da ovaj parametar ostavimo nedefinisanim.
Ukoliko prva kolona baze podataka nije sortirana ili je sortirana u padajuem redosljedu, tada
za vrijednost ovog parametra moramo uzeti konstantu false
Poto u naem primjeru prva kolona liste podataka nije sortirana, za vrijednost 4. parametra emo
uzeti false:
To bi
bilo sve.
Na ovaj nain smo definisali parametre koji su potrebni funkciji VLOOKUP da vrati korektnu
vrijednost za na upit. Pritisnite taster OK i uoite da je opis koji odgovara ifri
proizvoda R99245 korektno prikazan u eliji B11:
Formula koja je
kreirana za nas ima sljedei oblik:
Ukoliko unesemo drugu ifru
proizvoda u eliju A11, postaemo svjesni snage VLOOKUP funkcije: vrijednost u polju
description se automatski mjenja na nain da zadovoljava vrijednost nove ifre proizvoda:
Slian postupak postupku koji smo sproveli za
dobijanje naziva proizvoda za izabranu ifru moemo sprovesti kako bi dobili cijenu proizvoda u
eliji E11 nae fakture. Uoite da se u eliji E11 za ovu funkcionalnost mora kreirati nova formula
(ne moe se raditi copy postojee formule). Rezultat e biti slian prikazu na sljedeoj slici:
a
nova formula treba da odgovara sljedeem tekstu:
Uoite da je jedina razlika
izmedju 2 uradjene formule vrijednost treeg argumenta (Col_index_num) i ona je izmjenjena sa
vrijednosti 2 na 3 (poto elimo da nam se prikau podaci iz tree kolone iz baze podataka).
Ukoliko smo odluili da kupimo 2 artikla izabrane ifre, trebali bi da ukucamo broj 2 u eliju
D11. Sada bi mogli da ispiemo i jednostavnu formulu u eliju F11 kako bi dobili cijenu za naruenu
koliinu proizvoda:
=D11*E11
sve to skupa izgleda kao na sljedeoj slici
Kompletiranje template-a fakture
Mnogo smo nauili o VLOOKUP funkciji do sada. Ustvari, nauili smo sve to nam je bio cilj da
nauimo kroz ovaj tekst. Vano je da znate da se VLOOKUP funkcija moe koristiti i u druge svrhe
pored toga to se koristi da se pronadju podaci u bazi podataka za izabranu ifru. Ove druge namjene
su manje oigledne i o njima e biti govora nekom drugom prilikom.
Na template fakture jo nije kompletiran. Kako bi se taj zadatak realizovao korektno do kraja
potrebno je uraditi jo i sljedee:
1. Treba da uklonimo ifru proizvoda iz elije A11 koju smo tamo ukucali da bi objasnili nain
upotrebe funkcije VLOOKUP kao i koliinu (2) koju smo unjeli u eliju D11. Ova brisanja
podataka e prouzrokovati drugaiji prikaz rezultata rada VLOOKUP funkcije prikaz koji
indicira da je dolo do greke u radu:
Prikaz greke u radu funkcije nije user frendly i poeljno ga je zaobii. Stvar se jednostavno
rjeava koritenjem Excel-ovih funkcija IF() i ISBLANK(). Izmjeniemo nae formule na
nain da izvorni oblik prikazan u sljedeem redu:
=VLOOKUP(A11,Product Database!A2:D7,2,FALSE)
prevedemo u oblik
=IF(ISBLANK(A11),,VLOOKUP(A11,Product Database!A2:D7,2,FALSE))
2. Trebalo bi da kopiramo formule iz elija B11, E11 i F11 u ostale redove fakture sve do
poslednjeg reda u koji je dozvoljeno operaterima da unose podatke o prodanim
proizvodima. Uoite da ukoliko ovo uradite, rezultirajue nove formule u novim redovima
fakture nee korektno referisati opseg baze podataka. Da bi se ovaj problem izbjegao
uradiemo na drugom parametru funkcije VLOOKUP promjenu relativnih referenci na elije
baze podataka u apsolutne reference adresa elija. Alternativno rijeenje, i ak bolje rijeenje je
da kreiramo ime koje e biti sinonim za opseg podataka koji ulazi u sastav baze podataka
(recimo da to ime bude Products), a onda da u formulama umjesto elija koje definiu
granice baze podataka koristimo definisano ime. U ovom sluaju formula bi se izmjenila iz
sljedeeg oblika.
=IF(ISBLANK(A11),,VLOOKUP(A11,Product Database!A2:D7,2,FALSE))
u
=IF(ISBLANK(A11),,VLOOKUP(A11,Products,2,FALSE))
Poslije ovakve intervencije je mogue kopirati formulu u ostale redove koji formiraju tjelo
template-a fakture bez bojazni da emo imati problema sa referisanjem na opseg elija u kojima se
nalaze podaci baze podataka (kako se definiu imena u Excel-u moete pogledati na ovom istom
blog-u u posebnom tekstu).
3. Trebali bi zakljuati elije koje sadre formule (ili tanije otkljuati ostale elije), a zatim
zatititi worksheet, kako bi smo obezbjedili da se nae paljivo kreirane formule sluajno ne
prebriu tokom unosa podataka od strane korisnika template-a fakture.
4. Trebali bi da sauvamo cjeli dokumenat u obliku template dokumenta kako bi se mogao kao
ablon koristiti od strane svih zainteresovanih korisnika firme.
Na kraju, ukoliko se osjeamo sigurnim u nae shvatanje naina rada VLOOKUP funkcije, mogli bi
da kreiramo bazu podataka svih klijenata u posebnom worksheet-u i da onda koristimo ID klijenta
koji bi unosili u eliju F5 da se na osnovu njega automatski popune podaci o imenu klijenta i njegovoj
adresi u elijama B6, B7 i B8.