Excel funkcije FIND i SEARCH s primjerima formula

  • Podijeli Ovo
Michael Brown

Vodič objašnjava sintaksu Excel funkcija FIND i SEARCH i daje primjere formula za naprednu netrivijalnu upotrebu.

U prošlom članku pokrili smo osnove Excela Pronađi i zamijeni dijalog. U mnogim situacijama, međutim, možda ćete htjeti da Excel automatski pronađe i izdvoji podatke iz drugih ćelija na osnovu vaših kriterija. Dakle, pogledajmo bliže šta funkcije pretraživanja u Excelu nude.

    Excel funkcija FIND

    FIND funkcija u Excelu se koristi za vraćanje pozicije određeni znak ili podniz unutar tekstualnog niza.

    Sintaksa funkcije Excel Find je sljedeća:

    FIND(pronađi_tekst, unutar_teksta, [početni_broj])

    Prva 2 argumenta su obavezna, posljednji je opcionalan.

    • Pronađi_tekst - karakter ili podniz koji želite pronaći.
    • Unutar_teksta - tekstualni niz za biti pretraživan unutar. Obično se isporučuje kao referenca na ćeliju, ali također možete upisati string direktno u formulu.
    • Početni_broj - neobavezni argument koji određuje od kojeg znaka će pretraga početi. Ako se izostavi, pretraga počinje od 1. znaka unutar_tekstualnog niza.

    Ako funkcija FIND ne pronađe znak(e) find_text, #VALUE! vraća se greška.

    Na primjer, formula =FIND("d", "find") vraća 4 jer je "d" 4. slovo u riječi " pronađi ". Formula =FIND("a", "find") opet, najsloženiji dio je posljednji argument koji govori formuli koliko znakova treba vratiti. Taj prilično dug izraz u argumentu num_chars čini sljedeće:

    • Prvo, pronalazite poziciju završne zagrade: SEARCH(")",A2)
    • Nakon toga locirate poziciju početne zagrade: SEARCH("(",A2)
    • I onda izračunate razliku između pozicija završne i početne zagrade i od tog broja oduzmete 1, jer ne želite ni jednu zagradu u rezultatu: SEARCH(")",A2)-SEARCH("(",A2))-1

    Naravno, ništa vas ne sprječava da koristite Excel funkciju FIND umjesto SEARCH, jer osjetljivost na velika i mala slova ne čini razliku u ovom primjeru.

    Nadajmo se, ovo Tutorial je bacio malo svjetla na to kako koristiti funkcije SEARCH i FIND u Excelu. U sljedećem tutorijalu pomno ćemo ispitati funkciju REPLACE, pa vas molimo da nas pratite. Hvala vam na čitanju!

    Preuzmite radnu svesku za vježbanje

    PRONAĐITE i PRETRAŽITE primjere formula

    vraća grešku jer nema "a" u " find".

    Excel funkcija FIND - stvari koje treba zapamtiti!

    Da biste ispravno koristili formulu PRONAĐI u Excelu, imajte na umu sljedeće jednostavne činjenice:

    1. Funkcija FIND je osjetljiva na velika i mala slova . Ako tražite podudaranje bez obzira na velika i mala slova, koristite funkciju SEARCH.
    2. Funkcija FIND u Excelu ne dozvoljava korištenje zamjenskih znakova .
    3. Ako argument find_text sadrži nekoliko znakova, funkcija FIND vraća poziciju prvog znaka . Na primjer, formula FIND("ap","sretan") vraća 2 jer "a" u 2. slovu u riječi "sretan".
    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 pozicija prvog znaka "l" u riječi "zdravo".
    5. Ako je find_text prazan niz "", Excel formula FIND vraća prvi znak u nizu za pretraživanje.
    6. Excel funkcija FIND vraća #VALUE! greška ako se dogodi nešto od sljedećeg:
      • Pronađi_tekst ne postoji u unutar_tekstu.
      • Početni_broj sadrži više znakova nego unutar_teksta.
      • Početni_broj je 0 (nula) ili negativan broj.

    Funkcija SEARCH u Excelu je vrlo slična FIND po tome što također vraća lokaciju podniza u tekststring. Da li su sintaksa i argumenti slični onima u FIND:

    SEARCH(pronađi_tekst, unutar_teksta, [početni_broj])

    Za razliku od FIND, funkcija SEARCH je neosjetljiva na velika i mala slova i dozvoljava korištenje zamjenskih znakova , kao što je prikazano u sljedećem primjeru.

    I evo nekoliko osnovnih Excel formula SEARCH:

    =SEARCH("market", "supermarket") vraća 6 jer podniz "tržište" počinje od 6. znaka riječi "supermarket" .

    =SEARCH("e", "Excel") vraća 1 jer je "e" prvi znak u riječi "Excel", zanemarujući velika i mala slova.

    Poput FIND, Excelova funkcija SEARCH vraća #VALUE! greška ako:

    • Vrijednost argumenta find_text nije pronađena.
    • Argument start_num je veći od dužine unutar_text.
    • Početni_num je jednak ili manje od nule.

    Dalje u ovom vodiču, naći ćete nekoliko smislenijih primjera formule koji pokazuju kako koristiti funkciju SEARCH u Excel radnim listovima.

    Kao što je već spomenuto, funkcije FIND i SEARCH u Excelu su vrlo 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 bez obzira na velika i mala slova

    Najbitnija razlika između Excel funkcija SEARCH i FIND je u tome š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 zanemarujeslučaj "E", dok FIND("e", "Excel") vraća 4 jer mu smetaju velika i mala slova.

    2. Pretraživanje pomoću zamjenskih znakova

    Za razliku od FIND, Excel funkcija SEARCH prihvaća zamjenske znakove u argumentu find_text:

    • Upitnik (?) odgovara jednom znaku, a
    • Zvjezdica (*) odgovara bilo kojoj seriji znakova.

    Da vidite kako funkcionira na stvarnim podacima, razmotrite sljedeći primjer:

    Kao što vidite na slici iznad, formula SEARCH("function*2013", A2) vraća poziciju prvog znaka ("f") u podnizu ako tekstualni niz na koji se poziva argument unutar_text sadrži obje "funkcije" i "2013", bez obzira koliko drugih znakova ima između.

    Savjet. Da biste pronašli stvarni znak pitanja (?) ili zvjezdicu (*), otkucajte tildu (~) prije odgovarajućeg znaka.

    Primjeri formule FIND i SEARCH u Excelu

    U praksi, Excel funkcije FIND i SEARCH rijetko se koriste same. Obično biste ih koristili u kombinaciji s drugim funkcijama kao što su SREDINA, LIJEVO ili DESNO, a sljedeći primjeri formule pokazuju neke stvarne upotrebe.

    Primjer 1. Pronađite niz koji prethodi ili slijedi zadati znak

    Ovaj primjer pokazuje kako možete pronaći i izdvojiti sve znakove u tekstualnom nizu lijevo ili desno od određenog znaka. Da biste stvari lakše razumjeli, razmotritesljedeći primjer.

    Pretpostavimo da imate kolonu imena (kolona A) i želite da povučete Ime i Prezime u zasebne kolone.

    Da biste dobili ime, možete koristiti FIND (ili SEARCH) u kombinaciji sa funkcijom LEFT:

    =LEFT(A2, FIND(" ", A2)-1)

    ili

    =LEFT(A2, SEARCH(" ", A2)-1)

    Kao što verovatno znate, funkcija Excel LEFT vraća specificirani broj znakova s ​​krajnje lijeve strane u nizu. I koristite funkciju FIND da odredite poziciju razmaka (" ") kako biste omogućili funkciji LEFT da zna koliko znakova treba izdvojiti. Pri tome oduzimate 1 od pozicije razmaka jer ne želite da vraćena vrijednost uključuje razmak.

    Da biste izdvojili prezime, koristite kombinaciju funkcija DESNO, PRONAĐI / PRETRAŽIVANJE i LEN. LEN funkcija je potrebna da dobijete ukupan broj znakova u nizu, od kojeg oduzimate poziciju razmaka:

    =RIGHT(A2,LEN(A2)-FIND(" ",A2))

    ili

    =RIGHT(A2,LEN(A2)-SEARCH(" ",A2))

    Sljedeći snimak ekrana prikazuje rezultat:

    Za složenije scenarije, kao što je izdvajanje srednjeg imena ili razdvajanje imena sa sufiksima, pogledajte Kako podijeliti ćelije u Excelu koristeći formule.

    Primjer 2. Pronađite N-to pojavljivanje datog znaka u tekstualnom nizu

    Pretpostavimo da imate neke tekstualne nizove u koloni A, recimo listu SKU-ova i želite pronaći pozicija 2. crtice u nizu. Sljedeća formula radi kao poslastica:

    =FIND("-", A2, FIND("-",A2)+1)

    Prva dvaargumente je lako protumačiti: locirajte crticu ("-") u ćeliji A2. U treći argument (start_num) ugrađujete drugu funkciju FIND koja govori Excelu da započne pretragu 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 dodate 2 vraćenoj vrijednosti:

    =FIND("-",A2, FIND("-", A2, FIND("-",A2)+1) +2)

    Još jedan i vjerovatno jednostavniji način pronalaženja N-tog pojavljivanja datog znaka je korištenje Excel 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 znak "Početak naslova" koji se ne može ispisati u ASCII sistemu. Umjesto CHAR(1) možete koristiti bilo koji drugi znak koji se ne može ispisati od 1 do 31. A zatim, funkcija FIND vraća poziciju tog znaka u tekstualnom nizu. Dakle, opšta formula je sljedeća:

    FIND(CHAR(1),SUBSTITUTE( ćelija , znak ,CHAR(1), N-ta pojava ))

    Na prvi pogled može izgledati da gornje formule imaju malu praktičnu vrijednost, ali sljedeći primjer će pokazati koliko su korisne u rješavanju stvarnih zadataka.

    Napomena. Imajte na umu da Excel FINDfunkcija je osjetljiva na velika i mala slova. U našem primjeru, ovo nema nikakve razlike, ali ako radite sa slovima i želite podudaranje velika i mala slova , koristite funkciju SEARCH umjesto FIND.

    Primjer 3. Izdvoj N znakova nakon određenog znaka

    Da biste locirali podniz određene dužine unutar bilo kojeg tekstualnog niza, koristite Excel FIND ili Excel SEARCH u kombinaciji sa funkcijom MID. Sljedeći primjer pokazuje kako možete koristiti takve formule u praksi.

    Na našoj listi SKU-ova, pod pretpostavkom da želite pronaći prva 3 znaka iza prve crtice i povući ih u drugu kolonu.

    Ako grupa znakova koja prethodi prvoj crtici uvijek sadrži isti broj stavki (npr. 2 znaka) to bi bio trivijalan zadatak. Možete koristiti 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 iz znaka 4 i vratite 3 znaka".

    Međutim, u radnim listovima iz stvarnog života, podniz koji trebate izdvojiti može početi bilo gdje unutar tekstualnog niza. U našem primjeru možda ne znate koliko znakova prethodi prvoj crtici. Da biste se nosili s ovim izazovom, koristite funkciju FIND da odredite početnu točku podniza koji želite dohvatiti.

    Formula FIND za vraćanjepozicija 1. crtice je sljedeća:

    =FIND("-",A2)

    Budući da želite početi sa 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, Excel funkcija SEARCH radi jednako dobro:

    =MID(A2, SEARCH("-",A2)+1, 3)

    Sjajno, ali šta ako grupa znakova nakon prve crtice sadrži različit broj znakova? Hmm... ovo bi mogao biti problem:

    Kao što vidite na gornjoj slici, formula radi savršeno za redove 1 i 2. U redovima 4 i 5, druga grupa sadrži 4 znaka, ali se vraćaju samo prva 3 znaka. U redovima 6 i 7 postoje samo 2 znaka u drugoj grupi i stoga naša formula za Excel Search vraća crticu nakon 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 (početna_pozicija). Određuje poziciju prvog znaka koji želite izdvojiti. Koristite funkciju FIND da biste locirali prvu crticu u nizu i dodali 1tu vrijednost jer želite da počnete sa 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 najzahtjevniji dio. Koristite dvije funkcije FIND (ili SEARCH), jedna određuje poziciju prve crtice: FIND("-",A2). A drugi vraća poziciju druge crtice: FIND("-", A2, FIND("-",A2)+1). Zatim oduzimate prvo od drugog, a zatim oduzimate 1 jer ne želite da uključite ni jednu crticu. Kao rezultat, dobićete broj znakova između 1. i 2. crtice, što je upravo ono što tražimo. Dakle, tu vrijednost unosite u argument 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 koloni A i želite da pronađete i izdvojite samo tekst koji je zatvoren u (zagrade).

    Da biste to učinili, trebat će vam funkcija MID da vrati željeni broj znakova iz string, i Excel funkciju FIND ili SEARCH da odredite odakle početi i koliko znakova izdvojiti.

    =MID(A2,SEARCH("(",A2)+1, SEARCH(")",A2)-SEARCH("(",A2)-1)

    Logika ove formule je slična onima o kojima smo raspravljali u prethodnom primjer. I

    Michael Brown je posvećen tehnološki entuzijasta sa strašću za pojednostavljenje složenih procesa pomoću softverskih alata. Sa više od decenije iskustva u tehnološkoj industriji, usavršio je svoje vještine u Microsoft Excelu i Outlooku, kao i Google Sheets i Docs. Michaelov blog je posvećen dijeljenju svog znanja i stručnosti s drugima, pružajući jednostavne savjete i tutorijale za poboljšanje produktivnosti i efikasnosti. Bilo da ste iskusni profesionalac ili početnik, Michaelov blog nudi vrijedne uvide i praktične savjete za izvlačenje maksimuma iz ovih osnovnih softverskih alata.