Pretraživanje po delu naziva u Excel tabelama
Pretraživanje prema delu naziva je sasvim uobičajena funkcionalnost u brojnim Windows aplikacijama. Ponekad se javlja potreba da ovako nešto primenite u pretrazi sopstvenih tabela. U tekstu koji sledi saznaćete kako da upotrebite funkciju FILTER u kombinaciji sa IFERROR i SEARCH kako biste dobili tabelu u skladu sa zadatim pojmom pretrage, a biće reč i o tome kako da generišete liste na osnovu traženog kriterijuma…
Šta pretražujemo? Uzimimo kao primer tabelu koja se nalazi u radnom listu „Artikli“, a gde se čuvaju podaci o nazivu artikla, proizvođaču, robnoj marki, klasifikaciji, nabavnoj i prodajnoj ceni itd. Na slici možete da vidite jednu demo tabelu. U praksi, verovatno biste je uvezli iz vašeg ERP ili nekog drugog poslovnog softvera.
Dodajmo novi radni list. Pretragu vršimo prema koloni „NAZIV ARTIKLA“, a ćeliju B1 iskoristićemo kao kriterijum pretrage. Kada želite da proverite da li se tekst nalazi unutar zadatog teksta upotrebićete funkcije FIND ili SEARCH. Obe funkcije imaju istu sintaksu, razlika je samo u tome što je funkcija FIND case sensitive. Ovo upućuje da Excel, prilikom pretrage, vodi računa o tome da li ste pri unosu kriterijuma koristili velika ili mala slova. Ne želimo da se vrši provera, upotrebićemo funkciju SEARCH!
=SEARCH(B1;Artikli[NAZIV ARTIKLA])
Ovaj izraz proverava da li se zadati pojam, koji smo uneli u ćeliji B1, nalazi u koloni „NAZIV ARTIKLA“, unutar tabele Artikli. Funkcija SEARCH vraća poziciju gde se nalazi pronađeni tekst. U ćelijama gde nema podudaranja Excel će prikazati grešku. Dobra praksa je da greške „zamaskiramo“ upotrebom funkcije IFERROR. Izmenićemo iskaz tako da, ukoliko dođe do greške, Excel vrati broj 0 u ćelijama gde je ona nastala.
=IFERROR(SEARCH(B1;Artikli[NAZIV ARTIKLA]);0)
Na kraju, da bismo dobili filtriranu tabelu Artikli, gde su prikazane samo vrednosti gde nije došlo do greške prilikom pretrage, ovaj izraz ćemo upotrebiti u okviru funkcije FILTER:
=FILTER(Artikli;IFERROR(SEARCH(B1;Artikli[NAZIV ARTIKLA]);0)>0;””)
Rezultat je da, na osnovu pojma pretrage koji smo uneli u ćeliji B1, Excel vraća filtriranu tabelu Artikli u okviru koje je on pronađen kao deo teksta unutar naziva artikla.
Ako želite, ovaj metod možete da iskoristite i kako biste popunili padajuću listu za izbor artikla. U tom slučaju, malo ćemo modifikovati formulu kako bi ona vratila samo kolonu sa nazivom:
=FILTER(Artikli[NAZIV ARTIKLA];IFERROR(SEARCH(B1;Artikli[NAZIV ARTIKLA]);0)>0;””)
Pokrenite opciju Data Validation za ćeliju koja treba da posluži kao mesto gde ćete vršiti izbor vrednosti. Kao izvor izaberite listu, a u polju Source upišite formulu:
=$B$5#
Znak „taraba“ se uvek stavlja na kraju adrese prve ćelije odakle povlačimo vrednosti pošto je veličina opsega dinamična – u zavisnosti od pojma pretrage, uvek ćemo imati drugačiji rezultat!
Probajte sada da vidite kako lista radi…
Podrazumeva se, svi rezultati pretrage (pomoćne liste) treba da se nalaze u nekom sporednom radnom listu koji, po mogućnosti, treba sakriti…