Sadržaj
Udžbenik objašnjava sintaksu funkcija Excel FIND i SEARCH i pruža primjere formula za napredne netrivijalne upotrebe.
U prošlom smo članku pokrili osnove programa Excel Dijaloški okvir Pronađi i zamijeni. Međutim, u mnogim situacijama možda ćete htjeti da Excel automatski pronađe i izvuče podatke iz drugih ćelija na temelju vaših kriterija. Dakle, pogledajmo pobliže što Excel funkcije pretraživanja imaju za ponuditi.
Excel funkcija FIND
Funkcija FIND u Excelu koristi se za vraćanje položaja određeni znak ili podniz unutar tekstualnog niza.
Sintaksa funkcije Excel Find je sljedeća:
FIND(find_text, within_text, [start_num])Prva 2 argumenta su potrebna, posljednji je opcionalan.
- Traži_tekst - znak ili podniz koji želite pronaći.
- Unutar_teksta - tekstualni niz za pretraživati unutar. Obično se navodi kao referenca na ćeliju, ali također možete unijeti niz izravno u formulu.
- Start_num - izborni argument koji navodi znak od kojeg će pretraživanje započeti. Ako je izostavljeno, pretraživanje počinje od 1. znaka niza unutar_teksta.
Ako funkcija FIND ne pronađe znak(ove) za traženje_teksta, prikazuje se #VALUE! vraća se pogreška.
Na primjer, formula =FIND("d", "find")
vraća 4 jer je "d" četvrto slovo u riječi " nađi ". Formula =FIND("a", "find")
opet, najsloženiji dio je posljednji argument koji formuli govori koliko znakova treba vratiti. Taj prilično dugačak izraz u argumentu num_chars čini sljedeće:
- Prvo, pronađite poziciju zagrade koja se zatvara:
SEARCH(")",A2)
- Nakon toga locirate poziciju zagrade koja se otvara:
SEARCH("(",A2)
- I onda izračunate razliku između položaja zatvarajuće i otvarajuće zagrade i oduzimate 1 od tog broja, jer ne želite niti jednu zagradu u rezultatu:
SEARCH(")",A2)-SEARCH("(",A2))-1
Naravno, ništa vas ne sprječava da koristite funkciju Excel FIND umjesto SEARCH, jer osjetljivost na velika ili mala slova nema razlike u ovom primjeru.
Nadajmo se da ovo vodič je bacio malo svjetla na to kako koristiti funkcije SEARCH i FIND u Excelu. U sljedećem vodiču pomno ćemo ispitati funkciju REPLACE, pa vas molimo da nas pratite. Hvala vam na čitanju!
Preuzmite radnu bilježnicu za vježbanje
Primjeri formula FIND i SEARCH
vraća pogrešku jer nema "a" u " find".
Excel funkcija FIND - stvari koje treba zapamtiti!
Za ispravnu upotrebu formule FIND u Excelu, imajte na umu sljedeće jednostavne činjenice:
- Funkcija FIND razlikuje velika i mala slova . Ako tražite podudaranje koje ne razlikuje velika i mala slova, upotrijebite funkciju SEARCH.
- Funkcija FIND u Excelu ne dopušta upotrebu zamjenskih znakova .
- Ako argument find_text sadrži nekoliko znakova, funkcija FIND vraća položaj prvog znaka . Na primjer, formula FIND("ap","happy") vraća 2 jer "a" u 2. slovu u riječi "happy".
- Ako unutar_teksta sadrži nekoliko pojavljivanja find_text, vraća se prvo pojavljivanje. Na primjer, FIND("l", "hello") vraća 3, što je položaj prvog znaka "l" u riječi "hello".
- Ako je find_text prazan niz "", formula Excel FIND vraća prvi znak u nizu za pretraživanje.
- Funkcija Excel FIND vraća #VALUE! greška ako se dogodi nešto od sljedećeg:
- Find_text ne postoji u unutar_teksta.
- Start_num sadrži više znakova nego unutar_teksta.
- Start_num je 0 (nula) ili negativan broj.
Excel funkcija SEARCH
Funkcija SEARCH u programu Excel vrlo je slična FIND po tome što također vraća lokaciju podniza u tekstniz. Jesu li sintaksa i argumenti slični onima za FIND:
SEARCH(find_text, within_text, [start_num])Za razliku od FIND-a, SEARCH funkcija je neosjetljiva na velika i mala slova i dopušta korištenje zamjenskih znakova , kao što je pokazano u sljedećem primjeru.
I evo nekoliko osnovnih Excel formula PRETRAŽIVANJA:
=SEARCH("market", "supermarket")
vraća 6 jer podniz "tržište" počinje na 6. znaku riječi "supermarket" .
=SEARCH("e", "Excel")
vraća 1 jer je "e" prvi znak u riječi "Excel", zanemarujući velika i mala slova.
Kao FIND, Excelova funkcija SEARCH vraća #VALUE! pogreška ako:
- Vrijednost argumenta find_text nije pronađena.
- Argument start_num veći je od duljine unutar_teksta.
- Start_num je jednak ili manje od nule.
Dalje u ovom vodiču pronaći ćete još nekoliko smislenih primjera formula koji pokazuju kako koristiti funkciju PRETRAŽIVANJE u Excel radnim listovima.
Excel FIND naspram Excel SEARCH
Kao što je već spomenuto, funkcije FIND i SEARCH u Excelu vrlo su slične u smislu sintakse i upotrebe. Međutim, oni imaju nekoliko razlika.
1. FIND koji razlikuje velika i mala slova u odnosu na SEARCH koji nije osjetljiv na velika i mala slova
Najbitnija razlika između funkcija Excel SEARCH i FIND je ta što SEARCH ne razlikuje velika i mala slova, dok je FIND osjetljiv na velika i mala slova.
Na primjer , SEARCH("e", "Excel") vraća 1 jer zanemarujevelika i mala slova "E", dok FIND("e", "Excel") vraća 4 jer uzima u obzir velika i mala slova.
2. Pretraživanje pomoću zamjenskih znakova
Za razliku od FIND, funkcija Excel SEARCH prihvaća zamjenske znakove u argumentu find_text:
- Upitnik (?) odgovara jednom znaku i
- Zvjezdica (*) odgovara bilo kojem nizu znakova.
Da biste vidjeli kako funkcionira na stvarnim podacima, razmotrite sljedeći primjer:
Kao što vidite na gornjoj snimci zaslona, formula SEARCH("function*2013", A2) vraća položaj prvog znaka ("f") u podnisku ako tekstualni niz na koji se upućuje u argumentu unutar_teksta sadrži i "funkcija" i "2013", bez obzira koliko drugih znakova ima između.
Savjet. Da biste pronašli stvarni upitnik (?) ili zvjezdicu (*), upišite tildu (~) prije odgovarajućeg znaka.
Primjeri formule Excel FIND i SEARCH
U praksi se Excel funkcije FIND i SEARCH rijetko koriste same za sebe. Obično biste ih koristili u kombinaciji s drugim funkcijama kao što su SREDINA, LIJEVO ili DESNO, a sljedeći primjeri formula pokazuju neke upotrebe u stvarnom životu.
Primjer 1. Pronađite niz ispred ili iza zadanog znaka
Ovaj primjer pokazuje kako možete pronaći i izdvojiti sve znakove u tekstualnom nizu lijevo ili desno od određenog znaka. Da bismo stvari lakše razumjeli, razmotritesljedeći primjer.
Pretpostavimo da imate stupac imena (stupac A) i želite povući ime i prezime u zasebne stupce.
Da biste dobili ime, možete koristiti FIND (ili SEARCH) u kombinaciji s LIJEVO funkcijom:
=LEFT(A2, FIND(" ", A2)-1)
ili
=LEFT(A2, SEARCH(" ", A2)-1)
Kao što vjerojatno znate, Excelova LIJEVO funkcija vraća određeni broj znakova krajnje lijevo u nizu. I koristite funkciju FIND za određivanje položaja razmaka (" ") kako bi funkcija LIJEVO znala koliko znakova treba izdvojiti. Pritom oduzimate 1 od pozicije razmaka jer ne želite da vraćena vrijednost uključuje razmak.
Za izdvajanje prezimena upotrijebite kombinaciju funkcija RIGHT, FIND / SEARCH i LEN. Funkcija LEN potrebna je za dobivanje ukupnog broja znakova u nizu od kojeg oduzimate položaj razmaka:
=RIGHT(A2,LEN(A2)-FIND(" ",A2))
ili
=RIGHT(A2,LEN(A2)-SEARCH(" ",A2))
Sljedeća snimka zaslona prikazuje rezultat:
Za složenije scenarije, kao što je izdvajanje srednjeg imena ili dijeljenje imena sufiksima, pogledajte Kako podijeliti ćelije u Excelu pomoću formula.
Primjer 2. Pronađite N-to pojavljivanje zadanog znaka u tekstualnom nizu
Pretpostavimo da imate neke tekstualne nizove u stupcu A, recimo popis SKU-ova, i želite pronaći položaj 2. crtice u nizu. Sljedeća formula djeluje poslastica:
=FIND("-", A2, FIND("-",A2)+1)
Prva dvaargumente je lako protumačiti: pronađite crticu ("-") u ćeliji A2. U treći argument (start_num) ugrađujete drugu funkciju FIND koja govori Excelu da započne pretraživanje počevši od znaka koji dolazi odmah nakon prvog pojavljivanja crtice (FIND("-",A2)+1).
Da biste vratili poziciju 3. pojavljivanja , ugradite gornju formulu u argument start_num druge funkcije FIND i dodajte 2 vraćenoj vrijednosti:
=FIND("-",A2, FIND("-", A2, FIND("-",A2)+1) +2)
Drugi i vjerojatno jednostavniji način pronalaženja N-tog pojavljivanja danog znaka je korištenje Excelove funkcije FIND u kombinaciji sa CHAR i SUBSTITUTE:
=FIND(CHAR(1),SUBSTITUTE(A2,"-",CHAR(1),3))
Gdje je "-" dotični znak, a "3" je N-to pojavljivanje koje želite pronaći.
U gornjoj formuli, funkcija SUBSTITUTE zamjenjuje 3. pojavljivanje crtice ("-") sa CHAR( 1), što je neispisivi znak "Početak naslova" u ASCII sustavu. Umjesto CHAR(1) možete koristiti bilo koji drugi znak koji se ne može ispisati od 1 do 31. Zatim, funkcija FIND vraća položaj tog znaka u tekstualnom nizu. Dakle, opća formula je sljedeća:
FIND(CHAR(1),SUBSTITUTE( cell , character ,CHAR(1), N-to pojavljivanje ))Na prvi pogled može se činiti da gornje formule nemaju praktičnu vrijednost, no sljedeći primjer pokazat će koliko su korisne u rješavanju stvarnih zadataka.
Napomena. Imajte na umu da Excel FINDfunkcija razlikuje velika i mala slova. U našem primjeru to nema razlike, ali ako radite sa slovima i želite podudaranje neosjetljivo na velika i mala slova , koristite funkciju SEARCH umjesto FIND.
Primjer 3. Izdvojite N znakova nakon određenog znaka
Da biste locirali podniz zadane duljine unutar bilo kojeg tekstualnog niza, upotrijebite Excel FIND ili Excel SEARCH u kombinaciji s funkcijom MID. Sljedeći primjer pokazuje kako možete koristiti takve formule u praksi.
Na našem popisu SKU-ova, pretpostavimo da želite pronaći prva 3 znaka nakon prve crtice i povući ih u drugi stupac.
Ako grupa znakova ispred prve crtice uvijek sadrži isti broj stavki (npr. 2 znaka), to bi bio trivijalan zadatak. Možete upotrijebiti funkciju MID da vratite 3 znaka iz niza, počevši od pozicije 4 (preskačući prva 2 znaka i crticu):
=MID(A2, 4, 3)
Prevedeno na engleski, formula kaže: "Pogledajte u ćeliju A2, počnite izdvajati od znaka 4 i vratite 3 znaka".
Međutim, u stvarnim radnim listovima, podniz koji trebate izdvojiti može započeti bilo gdje unutar tekstualnog niza. U našem primjeru možda ne znate koliko znakova ima ispred prve crtice. Kako biste se nosili s ovim izazovom, upotrijebite funkciju FIND za određivanje početne točke podniza koji želite dohvatiti.
Formula FIND za vraćanjepozicija prve crtice je sljedeća:
=FIND("-",A2)
Budući da želite započeti znakom koji slijedi nakon crtice, dodajte 1 vraćenoj vrijednosti i ugradite gornju funkciju u drugi argument (start_num) funkcije MID:
=MID(A2, FIND("-",A2)+1, 3)
U ovom scenariju Excelova funkcija SEARCH radi jednako dobro:
=MID(A2, SEARCH("-",A2)+1, 3)
Sjajno, ali što ako grupa znakova nakon prve crtice sadrži različit broj znakova? Hmm... ovo bi mogao biti problem:
Kao što vidite na gornjoj snimci zaslona, formula savršeno funkcionira za retke 1 i 2. U redovima 4 i 5, druga grupa sadrži 4 znaka, ali se vraćaju samo prva 3 znaka. U recima 6 i 7 postoje samo 2 znaka u drugoj grupi i stoga naša formula Excel pretraživanja vraća crticu iza njih.
Ako želite vratiti sve znakove između 1. i 2. pojavljivanja određenog znaka (crtica u ovom primjeru), kako biste postupili? Evo odgovora:
=MID(A2, FIND("-",A2)+1, FIND("-", A2, FIND("-",A2)+1) - FIND("-",A2)-1)
Za bolje razumijevanje ove MID formule, ispitajmo njene argumente jedan po jedan:
- 1. argument (tekst). To je tekstualni niz koji sadrži znakove koje želite izdvojiti, ćelija A2 u ovom primjeru.
- 2. argument (start_position). Određuje položaj prvog znaka koji želite izdvojiti. Koristite funkciju FIND da pronađete prvu crticu u nizu i dodate 1tu vrijednost jer želite započeti znakom koji slijedi nakon crtice: FIND("-",A2)+1.
- 3. argument (broj_znakova). Određuje broj znakova koje želite vratiti. U našoj formuli, ovo je najteži dio. Koristite dvije funkcije FIND (ili SEARCH), jedna određuje položaj prve crtice: FIND("-",A2). A drugi vraća položaj druge crtice: FIND("-", A2, FIND("-",A2)+1). Zatim oduzmete prvo od drugog, a zatim oduzmete 1 jer ne želite uključiti nijednu crticu. Kao rezultat, dobit ćete broj znakova između 1. i 2. crtice, što je upravo ono što tražimo. Dakle, tu vrijednost dodajete argumentu num_chars funkcije MID.
Na sličan način možete vratiti 3 znaka nakon 2. crtice:
=MID(A2, FIND("-",A2, FIND("-", A2, FIND("-",A2)+1) +2), 3)
Ili, izdvojite sve znakove između 2. i 3. crtice:
=MID(A2, FIND("-", A2, FIND("-",A2)+1)+1, FIND("-",A2, FIND("-", A2, FIND("-",A2)+1) +2) - FIND("-", A2, FIND("-",A2)+1)-1)
Primjer 4. Pronađite tekst između zagrada
Pretpostavimo da imate dugačak tekstualni niz u stupcu A i želite pronaći i izdvojiti samo tekst unutar (zagrada).
Da biste to učinili, potrebna vam je funkcija MID da vrati željeni broj znakova iz niz i funkciju Excel FIND ili SEARCH za određivanje gdje započeti i koliko znakova izdvojiti.
=MID(A2,SEARCH("(",A2)+1, SEARCH(")",A2)-SEARCH("(",A2)-1)
Logika ove formule slična je onima o kojima smo raspravljali u prethodnom primjer. I