Excel funkcije FIND i SEARCH s primjerima formula

  • Podijeli Ovo
Michael Brown

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:

    1. Funkcija FIND razlikuje velika i mala slova . Ako tražite podudaranje koje ne razlikuje velika i mala slova, upotrijebite funkciju SEARCH.
    2. Funkcija FIND u Excelu ne dopušta upotrebu zamjenskih znakova .
    3. 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".
    4. 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".
    5. Ako je find_text prazan niz "", formula Excel FIND vraća prvi znak u nizu za pretraživanje.
    6. 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.

    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.

    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.

    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

    Michael Brown predani je tehnološki entuzijast sa strašću za pojednostavljivanjem složenih procesa pomoću softverskih alata. S više od desetljeća iskustva u tehnološkoj industriji, usavršio je svoje vještine u Microsoft Excelu i Outlooku, kao i Google tablicama i dokumentima. Michaelov blog posvećen je dijeljenju znanja i stručnosti s drugima, pružajući savjete i upute koje je lako slijediti za poboljšanje produktivnosti i učinkovitosti. Bez obzira jeste li iskusni profesionalac ili početnik, Michaelov blog nudi vrijedne uvide i praktične savjete za izvlačenje maksimuma iz ovih osnovnih softverskih alata.