Napravio sam datoteku sa pretragom na osnovu imena i prezimena i sve funkcioni[e Ok međutim problem se javlja kada se pojavi još jedno lice sa istim imenom i prezimenom. Imam ideju kako bi se trebalo uraditi ali ne znam kako da je uradim. Kao prvo kada se desi da se pojavi isto traženo ime i prezime da se kao kriterijum pređe u neko novo polje ( sa porukom da ima više lica sa istim podatkom )gde bi se tražio podatak na pr.datum rođenja kao dodatni kriterijum za filtriranje - to bi bilo kao jedno rešenje a kao drugo da se u određenom delu dokumenta otvori lista onih koji imaju iste podatke pa de se vrši izbor direktno . Zakačio sam datoteku pa ako neko može da ovo uradi ili ima bolju ideju neka proba
Filtriranje dupliranih podataka
Zaključano
Zakačeno
izmenjeno 2 puta, poslednji put goran.c 20.01.2015. u 13:22
Izmene poruke
- goran.c20.01.2015. u 13:22zapis iz teksta poruke
- goran.c20.01.2015. u 10:07zapis iz teksta poruke
Napravio sam dodatnu formu za 2 uslovna filtriranja iz liste ona funkcioniše u smislu prebrojavanja lica ali bi morala da pokaže redova onoliko koliko je lica i da ispuni ih međutim pojavljuje stalno kolarića sa šifrom 31 - da li neko može da poglefa kod koji je napisan u ćeliji E 32 i da ispravi gršku unapred zahvalan
Napravio sam dodatnu formu za 2 uslovna filtriranja iz liste ona funkcioniše u smislu prebrojavanja lica ali bi morala da pokaže redova onoliko koliko je lica i da ispuni ih međutim pojavljuje stalno kolarića sa šifrom 31 - da li neko može da poglefa kod koji je napisan u ćeliji E 32 i da ispravi gršku unapred zahvalan
Nemoj se mučiti sa imenima.Postoje kod tebe nekoliko stvari po kojima možeš izuzeti upravo onog kojeg želiš a da nije dupli. Imaš datum rođenja kojeg preformatiraš u broj ne datum. druga stvar je licenca koja sigurno po nekom redoslijedu nije ni u kojem slučaju ista već jedinstvena, osim toga unesi OIB ili JMBG kao dio unosa u bazu i sve je riješeno..............šta se gnjaviš.
vkookup putem OIB-a, JMBG ili licence ti je siguran izlaz jer o u cijeloj bazi podataka po tim kriterijima nemaš duplog i svaki je za sebe jedinstven, s tim da ti ovi gore navedeni uslovi budu prvi u bazi što je uslov za pravilan rad Vlookup funkcije.Zamrsio si se.
vkookup putem OIB-a, JMBG ili licence ti je siguran izlaz jer o u cijeloj bazi podataka po tim kriterijima nemaš duplog i svaki je za sebe jedinstven, s tim da ti ovi gore navedeni uslovi budu prvi u bazi što je uslov za pravilan rad Vlookup funkcije.Zamrsio si se.
izmenjeno 1 put, poslednji put goran.c 20.01.2015. u 17:37
Izmene poruke
- goran.c20.01.2015. u 17:37zapis iz teksta poruke
Slažem sr za jmbg ali ga nrmam kao podatak isti problem je i kod licenci jer nemam sve brojeve pa sam prinuđen da radin preko prezimena i imena. Jeste komplikovano ispslo ali sve funkcioniše ok izuzev te formule u E 32
Izmenio sam formulu (u celiji E32)gde sam definisao u sheetu baza podataka : prezime, ime i sifra radi boljeg pregleda formula sad izgleda ovako =IF(ROWS(E$32:E32)<=$D$29;INDEX(sifra;SMALL(IF(Prezime=$D$27;IF(Ime=$D$28;ROW(Ime)-ROW('Baza podataka'!$E$2)+1));ROWS(E$32:E32)));"") ali i dalje pravi grešku. Ona pravilno dodaje broj polja lica koja se ponavljaju ali ne prikazuje tačan podatak kada se filtrira prezimenom u polju D27 i imenom u polju D28
izmenjeno 1 put, poslednji put Ivek33 24.01.2015. u 20:18
Izmene poruke
- Ivek3324.01.2015. u 20:18zapis iz teksta poruke
Ako sam dobro shvatio što želiš pogledaj ovo idejno rješenje.
Na Sheet2 (Baza Podataka)
- U L stupcu obriši ovu formulu
Sada ti je u stupcu 'L' ova formula
- U A2 postavi formulu i kopiraj do posljednjeg reda
Na Sheet1 (Pretraga)
- U D4 postavi Conditional Formatting formulu i pozadinu npr. crvenu da te upozori ako postoji duplikat osobe
- U D27 postavi formulu IFERROR da izvuče prvu riječ iz teksta tj. Prezime (ova formula je za Excel 2007 i noviji inače koristi IF/ISERROR)
- U D28 postavi formulu da izvuče drugu riječ iz teksta tj. Ime
- U E32 postavi formulu INDEX/MATCH da vrati redni broj sa Sheet1 Pretraga za osobu koju si upisao u D4. Inače sa Index/Match formulom možeš bolje maniupulirati nego sa Vlookup kada je pretraživanje stupaca u pitanju.
Ova formula ima dva uvjeta,(Prezime i Ime iz A stupca $A$2:$A$300 , duplikat $L$2:$L$300). ROW(A1) vraća broj reda 1 a to je ekvivalent prvom pojavljivanju Prezimena i Imena osobe koju si upisao u D4 na Sheet1 (Pretraga). U ćeliji E33 ovaj rezultat će biti broj 2.
Pojednostavljeno, formula će vratiti redni broj za dva uvjeta, tu nam je bitan redni broj ponavljanja Prezimena i Imena
Ovu formulu kopiraj prema dolje tri reda u stupcu E
- U F32 postavi formulu VLOOKUP koja će vratiti podatak za uvjet u E32. Ovu formulu kopiraj u desnu stranu do stupca 'K' na Sheet1 (Pretraga)
Ova formula traži uvjet iz E32 u imenovanom rasponu ćelija "rbr_podaci" koji se proteže $C$2:$L$300 na Sheet2 (Baza Podataka) i vraća podatak iz stupca 2 što je ekvivalent COLUMN(B1)
Kada ovu formulu kopiraš u desnu stranu ovaj COLUMN(B1) konvertirat će se u COLUMN(C1) i vratititi će podatak iz stupca broj 3 imenovanog raspona ćelija
I na kraju cijeli raspon ćelija od F32 do K32 kopiraš prema dolje tri reda.
Da bi izbjegao ove error #N/A ako nema daljnjeg ponavljanja Prezimena i Imena koristi za Excel 2003 IF/ISERROR ili za Excel 2007-2013 IFERROR
Valjda nećeš imati više od 4 osobe sa istim podacima
Toliko od mene ako sam uspio ti pomoći. (vidi attach)
pozz
[EDIT] konvert 'quote' taga u 'code'
Na Sheet2 (Baza Podataka)
- U L stupcu obriši ovu formulu
Code:
=TRIM(PROPER(A2))
=TRIM(PROPER(A2))
Sada ti je u stupcu 'L' ova formula
Code:
=IF((A2)<>"";(COUNTIF(A$2:A2;A2));"")
=IF((A2)<>"";(COUNTIF(A$2:A2;A2));"")
- U A2 postavi formulu i kopiraj do posljednjeg reda
Code:
=TRIM(PROPER(CONCATENATE(D2;" ";E2)))
=TRIM(PROPER(CONCATENATE(D2;" ";E2)))
Na Sheet1 (Pretraga)
- U D4 postavi Conditional Formatting formulu i pozadinu npr. crvenu da te upozori ako postoji duplikat osobe
Code:
=IF(E23<>"";TRUE;FALSE)
=IF(E23<>"";TRUE;FALSE)
- U D27 postavi formulu IFERROR da izvuče prvu riječ iz teksta tj. Prezime (ova formula je za Excel 2007 i noviji inače koristi IF/ISERROR)
Code:
=IFERROR(IF(LEN(D4>10);LEFT(D4;SEARCH(" ";D4)-1);D4);D4)
=IFERROR(IF(LEN(D4>10);LEFT(D4;SEARCH(" ";D4)-1);D4);D4)
- U D28 postavi formulu da izvuče drugu riječ iz teksta tj. Ime
Code:
=RIGHT(D4;LEN(D4)-FIND(" ";D4;1))
=RIGHT(D4;LEN(D4)-FIND(" ";D4;1))
- U E32 postavi formulu INDEX/MATCH da vrati redni broj sa Sheet1 Pretraga za osobu koju si upisao u D4. Inače sa Index/Match formulom možeš bolje maniupulirati nego sa Vlookup kada je pretraživanje stupaca u pitanju.
Code:
=INDEX(rbr;MATCH(1;($D$4=prezimeiime)*(ROW(A1)=duplikat);0))
=INDEX(rbr;MATCH(1;($D$4=prezimeiime)*(ROW(A1)=duplikat);0))
Ova formula ima dva uvjeta,(Prezime i Ime iz A stupca $A$2:$A$300 , duplikat $L$2:$L$300). ROW(A1) vraća broj reda 1 a to je ekvivalent prvom pojavljivanju Prezimena i Imena osobe koju si upisao u D4 na Sheet1 (Pretraga). U ćeliji E33 ovaj rezultat će biti broj 2.
Pojednostavljeno, formula će vratiti redni broj za dva uvjeta, tu nam je bitan redni broj ponavljanja Prezimena i Imena
Ovu formulu kopiraj prema dolje tri reda u stupcu E
- U F32 postavi formulu VLOOKUP koja će vratiti podatak za uvjet u E32. Ovu formulu kopiraj u desnu stranu do stupca 'K' na Sheet1 (Pretraga)
Code:
=VLOOKUP($E32;rbr_podaci;COLUMN(B1);FALSE)
=VLOOKUP($E32;rbr_podaci;COLUMN(B1);FALSE)
Ova formula traži uvjet iz E32 u imenovanom rasponu ćelija "rbr_podaci" koji se proteže $C$2:$L$300 na Sheet2 (Baza Podataka) i vraća podatak iz stupca 2 što je ekvivalent COLUMN(B1)
Kada ovu formulu kopiraš u desnu stranu ovaj COLUMN(B1) konvertirat će se u COLUMN(C1) i vratititi će podatak iz stupca broj 3 imenovanog raspona ćelija
I na kraju cijeli raspon ćelija od F32 do K32 kopiraš prema dolje tri reda.
Da bi izbjegao ove error #N/A ako nema daljnjeg ponavljanja Prezimena i Imena koristi za Excel 2003 IF/ISERROR ili za Excel 2007-2013 IFERROR
Valjda nećeš imati više od 4 osobe sa istim podacima
Toliko od mene ako sam uspio ti pomoći. (vidi attach)
pozz
[EDIT] konvert 'quote' taga u 'code'
Bravo majstore, veliko hvala na pomoći. Zahvaljujući tebi sam našao greške i ispravio ih tako da sada i moja datoteka funkcioniše. Jedino kada otkucam ne postojeći podatak koji je kratak / na pr abs ) izbacuje grešku VALUE što nisam rešio ostalo funkcioniše besprekorno sam dodaje onoliko redova koliko se lica javlja kao duplikat nema uslovnog zadavanja. Ako mogu da znam zašto si u sheetu baza podataka napravio kopiju ( zbog zaglavlja ili iz nekog drugog razloga ) i ako ti nije problem napisi kako si je uradio- Svoju gotovu datoteku ću zakačiti i mislim da će biti od pomoći mnogima . Još jedanput HVALA IVEK
Citat:
goran.c: Ako mogu da znam zašto si u sheetu baza podataka napravio kopiju ( zbog zaglavlja ili iz nekog drugog razloga ) i ako ti nije problem napisi kako si je uradio
Vidim da i dalje koristiš nepotreban predzadnji stupac koji sadrži naslov "Prezime i ime sa funkcijom ispravke slova". Formula sa funkcijama TRIM/PROPER u tvom 'L' stupcu je nepotrebna na trenutnoj poziciji, formula se može kombinirati sa Concatenate u 'A' stupcu
izmenjeno 1 put, poslednji put goran.c 24.01.2015. u 21:31
Izmene poruke
- goran.c24.01.2015. u 21:31zapis iz teksta poruke
Na brzinu sam odradio pa tu kolonu L nisam korigovao sada sam je uradio i hvala ti na ukazanom, Ostala je sano greška Value koju sam naveo i nije ni bitna zoliko da bi sve bilo OK. Pozzzz