[ Slobodan Trebovac @ 02.01.2006. 10:39 ] @
Prije svega zelim da svima na ES-u zazelim srecnu Novu 2006.-u godinu te da ES i dalje bude ono sto jeste: mjesto druzenja, te sticanja kao i pruzanja znanja.

Da prijedjem na ono sto me interesuje:
Zelim u Excelu da ukoliko u jednu celiju stavim jednu vrijednost, da mi se na osnovu te unijete vrijednosti u drugu celiju upise druga vrijednost, npr. ukoliko u celiju A1 unesem Zastava da mi se automatski u celiju B1 ispise Yugo:). Nadam se da sam bio jasan. Napominjem da ce u citavoj listi (u ovom slucaju koloni A) biti najvise 5-6 tipova (uslova) podataka na osnovu kojih se trebaju automatski ispisivati vrijednosti u koloni B. I na kraju bez obzira sta pisalo u kolonama A i B zelim da mi u trecoj koloni automatski ispisuje jednu te istu vrijednost koja se ne mijenja, znaci koja se automatski ispisuje cim u koloni A (sto automatski podrazumijeva i ispisivanje vrijednosti u koloni B) ima neka vrijednost.
Otprilike ovako nesto:

A B C
Zastava Yugo Automobil
Skoda Octavia Automobil
itd.

Da li moram na nekakav nacin da pravim nekakav sifarnik ovih vrijednosti npr. preko opcije Validation ili nesto sl. Mozda mi za ovo treba upotreba funkcija IF, VLOOKUP?

[ Goran Mijailovic @ 02.01.2006. 11:56 ] @
IF i VLOOKUP zavrsavaju stvar ;)
[ Slobodan Trebovac @ 03.01.2006. 00:50 ] @
OK, da li ti ili neko drugi moze da mi pokaze kako se one tacno koriste na ovim mojim primjerima.
Hvala.
[ Goran Mijailovic @ 03.01.2006. 01:54 ] @
[att_img]
Evo, prouci ovaj tekst.


Citat:

EXCEL FUNKCIJA VLOOKUP

Pošto jedan radni list MS Excel-a može da sadrži više tabela i ogroman broj podataka, često se kao vrlo važna aktivnost postavlja pretraživanje. Upravo za te slučajeve koristi se funkcija "VLOOKUP". Ova funkcija je namenjena malo naprednijim korisnicima, zbog malo složenije sintakse. A funkcija svoju pravu vrednost dobija kada se koristi u radu sa Excel-ovim bazama podataka. Funkcija VLOOKUP se koristi za pretraživanje određenih vrednosti u prvoj levoj koloni, pošto se pretpostavlja da tu smeštamo polja sa ključnim vrednostima (polja u kojima se nalaze podaci koji se ne ponavljaju i koji jedinstveno određuju podatke po redovima). Kao rezultat funkcije dobijamo vrednost koja se nalazi u preseku zadate kolone i odgovarajućeg reda (onog u kome se nalazi traženi podatak). Sintaksa funkcije je sledeća:
VLOOKUP (Trazena_vrednost; Blok_celija;
Broj_kolone; Najbliza_vrednost)
Gde argumeniti predstavljaju:
• Trazena_vrednost - vrednost koja se traži u ćelijama prve kolone određenog bloka ćelija.
• Blok_celija - pravougaoni blok ćelija koji predstavlja oblast pretraživanja.
• Broj_kolone - broj kolone u okviru bloka ćelija, čija će se vrednost vratiti iz ćelije odgovarajućeg reda. Broj kolone mora biti veći ili jednak jedinici (1), i manji ili jednak ukupnom broju kolona.
• Najbliza_vrednost - pomoću ovog argumenta određujemo tačnost pretraživanja i postoje dve vrednosti argumenta:
o TRUE - u prvoj koloni će se tražiti najbliža manja ili jednaka vrednost onoj koja se traži. Ali za ovu pretragu, prva kolona mora biti sortirana po rastućem redosledu, u suprotnom nećemo dobiti pravi rezultat.
o FALSE - u prvoj koloni će se tražiti jednaka vrednost sa vrednošću koja je navedena u argumentu "Trazena_vrednost ".
U primeru na slici vidimo jednu listu, koja predstavlja jednu skraćenu bazu podataka. Prva kolona sadrži jedinstvene vrednosti za svaku podataka, pa ćemo tako pretraživanje vršiti u njoj. Ispod tabele u prvoj ćeliji ćemo unositi traženi MBR (matični broj), a ćelija ispod će da vrati rezultat. Ovde ćemo da iskombinujemo i funkciju "IF" koja će proveravati da li je ćelija za pretraživanje prazna.

=IF(B10=""; ""; VLOOKUP(1234; skup; 2; FALSE))
Šta će se desiti? Kada u ćeliju B10 unesemo traženu vrednost, vršiće se pretraga i to po matičnom broju, inače ako ne unesemo vrednost donja ćelija neće prikazati nikakvu vrednost. Tražiće se identična vrednost traženoj i kada se pronađe, prikazaće se vrednost iz druge kolone.


[Ovu poruku je menjao Goran Mijailovic dana 03.01.2006. u 02:57 GMT+1]
[ Shadowed @ 03.01.2006. 08:20 ] @
Imas i primere na jednoj od postojecih tema kao i makro koji prosiruje IF funkciju sa vise slucajeva.
[ Slobodan Trebovac @ 03.01.2006. 15:00 ] @
Pomocu funkcije VLOOKUP uspio sam da na osnovu vrijednosti u jednoj celiji dobijam zeljenu vrijednost u drugoj celiji. E sad interesuje me drugi dio pitanja: kako je moguce da se na osnovu bilo koje vrijednosti koja postoji u nekoj celiji da se automatski ispisuje uvijek ista vrijednost u zeljenoj celiji. Npr. nesto napisem u celiji C1 i automatski se ispise jedna te ista vrijednost u celiji D1; znaci funkcija bi trebala samo da provjeri da li u nekoj celiji ima neka vrijednost ili ne, te ukoliko ima vrijednost da u drugoj celiji ispise zeljeni sadrzaj (koji je uvijek isti). Ovo sam uspio takodje pomocu funcije VLOOKUP, ali me interesuje da li postoji neki "uobicajeniji" nacin.
Jos jedno moje pitanje glasi: da li je moguce (i kako) u celiju u kojoj ima formula koja radi ovo sto ja trenutno trazim da se upise i neka vrijednost koja ne proizilazi iz formule tj. nekad moze postojati potreba da se u tu celiju upise i neki proizvoljan podatak koji nema veze sa podacima iz opsega VLOOKUP?
[ Shadowed @ 04.01.2006. 06:27 ] @
Za prvo pitanje - =IF(A1="","","nesto")
Drugo pitanje nisam kapirao.
[ Goran Mijailovic @ 04.01.2006. 07:32 ] @
Vec sam ovo kacio, moze se sa rezultatom funkcije dalje manipulisati npr. pomnoziti.

[Ovu poruku je menjao Goran Mijailovic dana 04.01.2006. u 08:33 GMT+1]
[ Slobodan Trebovac @ 04.01.2006. 09:27 ] @
Uglavnom sam uspio u ovome sto sam zelio, ponajvise zahvaljujucu vama.

Za Shadowed:
Moje drugo pitanje se odnosi na to da li je moguce u celiju u kojoj se vrijednost dobija po formuli iz VLOOKUP opsega ponekad po potreba napisati i proizvoljnu vrijednost.
Da pojasnim: sva moja prica se svodila na pitanje da se popunjavanjem jedne celije automatski popunjava-ju i ostale konteksno u odnosu na prvu celiju. To sam rijesio koristenjem VLOOKUP funkcije. Medjutim moze se pojaviti situacija da treba u tu celiju unijeti nesto i nevezano za vrijednost prve celije, doduse rijetko ali ipak. Prema tome interesuje me da li je moguce u celiju cija je vrijednost definisana formulom (bilo kojom) nekad unijeti i proizvoljnu vrijednost koja nema veze s tom formulom (mozda pomocu nekakve funkcije OR ili sl.).
[ Jpeca @ 04.01.2006. 09:45 ] @
Nije mi baš najjasnije šta zaista treba.
Ukoliko je neka ćelija definisana formulom, ti preko toga možeš da uneseš bilo šta, formula će se u tom slučaju obrisati. Ukoliko ti opet u toj ćeliji treba formula možeš je kopirati iz neke druge.
Naravno moguće je kombinovati VLookup sa IF, OR ... ali ne znam smisao toga.
Takođe ako nećeš da kvariš formule možeš rezultate da kopiraš u neku drugu oblast, koristeći Paste Special - Values, pa da ih menjaš po potrebi u tom novom regionu.
[ Shadowed @ 04.01.2006. 09:58 ] @
Ne mozes, jer cim upises neku vrednost gubis formulu. Jedino bi mogao da upisujes u neku drugu celiju i proveeravas da li je tu upisana vrednost i ako jeste da prepisujes u svoju a ako nije da vrsis proracun.
[ Ivek33 @ 18.05.2006. 19:14 ] @
Hi,

Citat:
=IF(B10="";"";VLOOKUP(1234;skup;2;FALSE))


Po meni u ovoj formuli nešto nije u redu ( u odnosu na sliku koja je bila ) a ja je postavljam ponovo

Ne može se pisati 01234 jer tada Excel neće prepoznati upis podatka kao broj.
Umjesto 01234 treba pisati 1234 a u formuli trebalo bi biti "B10"
Umjesto "skup" trebalo bi biti "A2:B7"
Tada rezultat može biti ispravan



Ispravite me ako griješim, i ja sam zbunjen

mislim da je ovo ispravna formula
=IF(B10="";"";VLOOKUP(B10;A1:B7;2;FALSE))
[ Jpeca @ 19.05.2006. 07:51 ] @
1/ Ne može se pisati 01234 jer tada Excel neće prepoznati upis podatka kao broj. Umjesto 01234 treba pisati 1234 - Pa pitanje je da li MBR treba da bude broj - uglavnom MBR ima vodeće nule i onda moraš da upišeš kao tekst. Zavisi šta ti više odgovara. Važno je da u celoj tabeli bude urađeno na isti način - ne bi valjalo da je negde tekst a negde broj. Ako je tekst tako ga moraš upisati i u ćeliji B10 - ne sme biti broj dakle 01234.

2/ a u formuli trebalo bi biti "B10" - U pravu si

3/ Umjesto "skup" trebalo bi biti "A2:B7" - Moze, ili bolje "A2:C7", ali je dobra praksa da opsege imenuješ - oznacis opseg i upises neki naziv (npr. skup) u name box u liniji formule. Formule su tako mnogo preglednije.

Važna napomena:
Ono što nevalja na tvojoj slici je da tabela nije sortirana. [bold]Za korišćenje VLOOKUP tabela mora biti sortirana po prvoj koloni ! [/bold]




[ Ivek33 @ 19.05.2006. 12:34 ] @
Hi TNX za odgovor, čovjek uvjek nauči nešto novo

Citat:
Jpeca: 1/ Ne može se pisati 01234 jer tada Excel neće prepoznati upis podatka kao broj. Umjesto 01234 treba pisati 1234 - Pa pitanje je da li MBR treba da bude broj - uglavnom MBR ima vodeće nule i onda moraš da upišeš kao tekst.

Ovo sam mislio zbog toga ako pišeš broj 0 ( nula ) ispred onda moraš staviti apostrof ali ti tada excel vidi podatak u ćeliji kao text ( bar mislim da je tako ) i u tom slučaju ti prilikom pretrage neće uzeti u obzir ako samo upišeš broj bez nule.

Citat:
Zavisi šta ti više odgovara. Važno je da u celoj tabeli bude urađeno na isti način - ne bi valjalo da je negde tekst a negde broj. Ako je tekst tako ga moraš upisati i u ćeliji B10 - ne sme biti broj dakle 01234.

Znači da se slažemo s mišljenjem ( možda sam se pogrešno izrazio.

Citat:
2/ a u formuli trebalo bi biti "B10" - U pravu si

Ovo je evidentno

Citat:
3/ Umjesto "skup" trebalo bi biti "A2:B7" - Moze, ili bolje "A2:C7", ali je dobra praksa da opsege imenuješ - oznacis opseg i upises neki naziv (npr. skup) u name box u liniji formule. Formule su tako mnogo preglednije.

E ovo baš i ne kužim, znam da se može imenovati neki raspon ćelija ali nisam to nikada radio.
Možeš li ukratko pojasniti kako se to imenuje ( Insert => name => Define ).
Da li sam ovo dobro odradio.?



Citat:
Važna napomena:
Ono što nevalja na tvojoj slici je da tabela nije sortirana. [bold]Za korišćenje VLOOKUP tabela mora biti sortirana po prvoj koloni ! [/bold]

Ovo je identična tablica koju je postavio Goran ( bar tako mislim, ne sjećam se )
Zainteresirala me pa sam malo experimentirao.
[ Jpeca @ 19.05.2006. 14:53 ] @
Da. To je uredu što se tiče imenovanja ćelija. Lako je i probati npr. = count(skup) ako radi onda je OK.

[Ovu poruku je menjao Jpeca dana 19.05.2006. u 15:57 GMT+1]
[ mmajstor @ 19.05.2006. 15:07 ] @
Citat:
Važna napomena:
Za korišćenje VLOOKUP tabela mora biti sortirana po prvoj koloni ! [/bold]



odakle ti to? sortirana po kom kriterijumu?
[ Jpeca @ 20.05.2006. 17:56 ] @
Pa iz opisa funkcije - kad pozoveš VLOOKUP funkciju u opisu piše: ... By default table must be sorted in an ascending order .
Doduše ja sam to jednom pročitao kad mi pretraživanje preko VLOOKUP nije radilo kako valja i posle nisam ni proveravao. Sad, kad si ti pitao pogledao sam detaljnije u helpu i video da ukoliko koristiš ekzaktno pretraživanje (Range_lookup = FALSE, kao u navedenom primeru) onda ovo nije obavezno.