TRAŽI Fx - Pronađi podniz u nizu - Excel, VBA i G listovi

Preuzmite Primjer radne knjige

Preuzmite primjer radne knjige

Ovaj vodič pokazuje kako se koristi Excel funkcija pretraživanja u Excelu za lociranje položaja teksta unutar ćelije.

TRAŽENJE Pregled funkcije

Funkcija SEARCH Pronalazi znak ili tekstualni niz i vraća njegovu poziciju u ćeliji. Ne razlikuje velika i mala slova.

Da biste koristili funkciju SEARCH Excel radnog lista, odaberite ćeliju i upišite:

(Obratite pažnju na to kako se pojavljuju unosi formule)

Funkcija pretraživanja Sintaksa i ulazi:

= PRETRAŽIVANJE (tekst_nalaza, unutar_teksta, početni_broj)

pronađi_tekst - Niz teksta koji želite pronaći.

unutar_teksta - Izvorni niz teksta.

početni_broj - NEOBVEZNO. Broj znaka s kojeg možete započeti pretraživanje. Napomena: Ovo samo mijenja raspon pretraživanja, neće utjecati na broj vraćen kada se pronađe podudaranje. Primjer: pretraživanje "s" u nizu "suns" zadano će vratiti 1, ali ako je start_num postavljen na 2, vratit će 4.

Što je funkcija TRAŽENJA?

Excel funkcija SEARCH "traži" niz teksta unutar drugog niza. Ako je tekst pronađen, SEARCH vraća brojčani položaj niza.

SEARCH NIJE osjetljiv na velika i mala slova. To znači da će se "tekst" podudarati s "TEKST". Za pretraživanje teksta osjetljivog na velika i mala slova umjesto toga koristite funkciju FIND <>.

Kako koristiti funkciju TRAŽENJA

Excel funkcija SEARCH radi na sljedeći način:

= SEARCH ("e", "slon")

Ovdje će Excel vratiti 1, budući da je "e" prvi znak u "slonu".

Ispod je još nekoliko primjera.

Početni broj (početni_broj)

Izborno, možete definirati početni broj (start_num). start_num govori funkciji SEARCH gdje započeti pretraživanje. Ako ostavite polje prazno, pretraživanje će započeti od prvog znaka.

= TRAŽI (B3, C3)

Sada, postavimo start_num na 2, što znači da će SEARCH početi tražiti od drugog znaka.

= TRAŽI (B3, C3, D3)

U ovom slučaju, SEARCH vraća 3: položaj drugog "e".

Važno: start_num nema utjecaja na povratnu vrijednost, SEARCH će uvijek početi brojati s prvim znakom.

Pogreške početnog broja (početni_broj)

Ako ipak koristite početni broj, provjerite je li to cijeli pozitivni broj manji od duljine niza koji želite pretraživati, u protivnom ćete dobiti pogrešku. Dobit ćete i pogrešku ako kao početni broj unesete praznu ćeliju:

= TRAŽI (B3, C3, D3)

Neuspješna pretraživanja Vratite #VRIJEDNOST! Pogreška

Ako SEARCH ne može pronaći vrijednost pretraživanja, Excel će vratiti #VREDNOST! pogreška.

Pretraživanje bez razlikovanja velikih i malih slova

Primjer u nastavku pokazuje da funkcija SEARCH ne razlikuje velika i mala slova. Tražili smo "abc", ali je SEARCH vratio 1 jer se podudara s "ABC".

Pretraživanje zamjenskim znakovima

Uz SEARCH možete koristiti zamjenske znakove koji vam omogućuju traženje neodređenih znakova.

Znak pitanja u tekstu za pretraživanje znači "bilo koji znak". Dakle, "? 000" u donjem primjeru znači "Traži bilo koji znak iza kojeg slijede tri nule".

Zvjezdica znači "bilo koji broj nepoznatih znakova". Ovdje tražimo "1*C", a SEARCH vraća 2 jer se podudara s "1-ABC".

U sljedećem primjeru tražimo "000?" - to jest "000" iza kojeg slijedi bilo koji znak. Imamo "000", ali to je na kraju niza, pa ga ne prate nikakvi znakovi, pa dobivamo pogrešku

Međutim, ako smo umjesto upitnika upotrijebili zvjezdicu - dakle "000*" umjesto "000?", Dobit ćemo podudarnost. To je zato što zvjezdica znači "bilo koji broj znakova" - uključujući bez znakova.

Kako razdvojiti imena i prezimena iz ćelije pomoću PRETRAŽIVANJA

Ako imate ime i prezime u istoj ćeliji, a želite im dati po jednu ćeliju, za to možete koristiti SEARCH - ali morat ćete koristiti i nekoliko drugih funkcija.

Dobivanje imena

LIJEVA Excel funkcija vraća određeni broj znakova iz niza, počevši od lijeve strane.

Ako koristimo SEARCH za vraćanje položaja razmaka između imena i prezimena, od toga oduzmemo 1, znamo koliko je dugo ime. Tada to možemo jednostavno prenijeti LIJEVO.

Formula za ime je:

= LIJEVO (B3, TRAŽI (““, B3) -1)

Dobivanje prezimena

PRAVA Excel funkcija vraća određeni broj znakova s ​​desne strane niza.

Da bismo dobili broj znakova jednak duljini prezimena, koristimo SEARCH da nam kaže položaj razmaka, a zatim oduzmemo taj broj od ukupne duljine niza - koju možemo dobiti pomoću LEN -a.

Formula prezimena je:

= DESNO (B3, LEN (B3) -TRAGANJE (““, B3))

Imajte na umu da će, ako vaši podaci o imenu sadrže srednje ime, srednje ime biti podijeljeno u ćeliju "Prezime".

Korištenje funkcije SEARCH za vraćanje n -tog znaka u niz

Kao što je gore navedeno, SEARCH vraća poziciju prvog podudaranja koje pronađe. No, kombinirajući ga s CHAR -om i ZAMJENOM, možemo ga koristiti za lociranje kasnijih pojavljivanja znaka, poput druge ili treće instance.

Evo formule:

= TRAŽI (CHAR (134), ZAMJENA (D3, C3, CHAR (134), B3))

U početku bi moglo izgledati malo komplicirano, pa razložimo:

  • Koristimo SEARCH, a niz koji tražimo je "CHAR (134)". CHAR vraća znak na temelju svog ASCII koda. CHAR (134) simbol je bodeža - ovdje možete koristiti bilo što ako se ne pojavljuje u vašem stvarnom nizu.
  • ZAMJENA prolazi kroz niz i zamjenjuje jedan znak ili podniz za drugi. Ovdje zamjenjujemo niz koji želimo pronaći (koji je u C3) s CHAR (134). Razlog zašto ovo radi je taj što je četvrti parametar SUBSTITUTE broj instance koji smo pohranili u B3.
  • Dakle, SUBSTITUTE zamjenjuje n -ti znak u nizu za simbol bodeža, a zatim SEARCH vraća njegov položaj.

Evo kako to izgleda:

Pronalaženje srednjeg presjeka niza

Zamislite da imate mnogo serijskih brojeva u sljedećem formatu:

AB1XCDC-1BB/BB99

Zamoljeni ste da izvučete središnji dio svakog od njih. Umjesto da to radite ručno, možete kombinirati SEARCH s MID -om da biste automatizirali ovaj zadatak.

MID Excel funkcija vraća dio niza. Njegovi unosi su tekstualni niz, početna točka i broj znakova.

Budući da je početna točka koju želimo znak nakon crtice, možemo koristiti SEARCH da dobijemo položaj crtice i dodamo joj 1. Da je serijski broj u B3, koristili bismo:

= PRETRAGA ("-", B3) +1

Da bismo dobili broj znakova koje želimo izvući odavde, pomoću pretraživanja možemo dobiti položaj kose crte, oduzeti položaj crtice, a zatim oduzeti 1 pa se pobrinite da ne vratimo samu kosu crtu:

= SEARCH ("/", B3) -SEARCH ("-", B3) -1

Zatim jednostavno spojimo ove dvije formule u MID:

TRAŽI PROTIV NAĐI

SEARCH i FIND slične su funkcije. Oboje vraćaju položaj danog znaka ili podniz u drugom nizu. Međutim, postoje dvije ključne razlike:

  • FIND razlikuje velika i mala slova, ali SEARCH nije
  • FIND ne dopušta zamjenske znakove, ali SEARCH dopušta

U nastavku možete vidjeti nekoliko primjera ovih razlika:

TRAŽI u Google tablicama

Funkcija SEARCH u Google tablicama radi potpuno isto kao i u Excelu:

dodatne napomene

SEARCH funkcija je verzija koja ne razlikuje velika i mala slova funkcije FIND. SEARCH također podržava zamjenske znakove. Nađi ne.

PRIMJERI TRAŽENJA u VBA

Također možete koristiti funkciju SEARCH u VBA. Tip:
application.worksheetfunction.search (pronađi_tekst, unutar_teksta, početni_broj)
Za argumente funkcije (find_text itd.) Možete ih unijeti izravno u funkciju ili definirati varijable koje ćete umjesto toga koristiti.

Povratak na popis svih funkcija u Excelu

wave wave wave wave wave