Pretraga po delu naziva

Pre mnogo godina radio sam u preduzeću ECOFINANCE za koje sam, u to vreme, napisao u Excel aplikaciju za fakturisanje. Čini mi se da je bila dosta jednostavna za korišćenje. Delom, zato što je bilo dovoljno uneti deo naziva šifre ili proizvoda da bi se pronašao željeni artikal. Prodavac bi dalje samo izabrao količinu i pakovanje te bi brzo mogao da nastavi sa unosom stavki sve dok ne završi dokument. Danas ovo može da se postigne puno jednostavnije, bez VBA programiranja…

Kako da pronađemo artikal unosom dela njegovog naziva, pa da rezultate pretrage stavimo u padajuću listu?

Najpre, potrebno je da postoji radni list sa podacima o artiklima (Artikli) kao što su naziv, pakovanje, klasifikacija, cene itd. Zatim u drugom radnom listu, koji koristimo za pretragu (Pretraga), odredimo jednu ćeliju gde treba da unesemo parametre upita (u našem primeru to je Pretraga!A3).

Najpre, hajde da u radnom listu Artikli generišemo podatke za popunjavanje padajuće liste. Ako unesemo funkciju:

SEARCH(Pretraga!A3;Artikli!B2:B151)

Ona omogućava da pretražujemo kolonu sa nazivima artikla na osnovu dela naziva ili punog naziva artikla koje smo uneli u ćeliji A3 radnog lista Pretraga. Ako funkcija pronađe zadatu reč ona vraća ceo broj koji označava poziciju gde se reč nalazi; u suprotnom- vraća grešku. Stoga, treba da proverimo da li je nastala greška. Ugnježdavanjem funkcije SEARCH u okviru IFERROR

=IFERROR(SEARCH(Pretraga!A3;Artikli!B2:B151);0)

dobijamo ceo broj, ako je reč nađena u tekstu, ili 0 ako reč nije nađena. Da bismo dobili željenu listu artikala koji u nazivu sadrže zadatu reč (Pretraga!A3) treba još samo iskoristiti funkciju FILTER koja prikazuje sve vrednosti artikala koje odgovaraju onim kod kojih formula vraća vrednost veću od nule:

=FILTER(B2:B151;IFERROR(SEARCH(Pretraga!A3;Artikli!B2:B151);0)>0;””)

Sada još samo treba da upotrebimo Data Validation i da podesimo da se lista puni vrednostima iz dinamički generisanog niza. U polju Source, u okviru Data Validation prozora, tom prilikom treba upisati formulu:

Artikli!I2#

Simbol # označava da preuzimamo podatke iz dinamički generisanog niza. Ako se sada vratimo u radni list Pretraga, pa u ćeliju A3 unesemo pojam „Jelen“, lista će se popuniti svim artiklima koji, u svom nazivu, poseduju reč Jelen.