30 Excel-funksies in 30 dae: SOEK

Gister in die marathon 30 Excel-funksies in 30 dae ons het die tipe foute herken deur die funksie te gebruik FOUT.TIPE (FOUTTIPE) en seker gemaak dat dit baie nuttig kan wees om foute in Excel reg te stel.

Op die 18ste dag van die marathon sal ons die studie van die funksie wy SOEK (SOEK). Dit soek 'n karakter (of karakters) binne 'n teksstring en rapporteer waar dit gevind is. Ons sal ook kyk hoe om situasies te hanteer waar hierdie funksie 'n fout veroorsaak.

Kom ons kyk dus van naderby na die teorie en praktiese voorbeelde van die funksie SOEK (SOEK). As jy 'n paar truuks of voorbeelde het om met hierdie funksie te werk, deel dit asseblief in die kommentaar.

Funksie 18: SOEK

funksie SOEK (SOEK) soek na 'n teksstring binne 'n ander teksstring, en indien gevind, rapporteer sy posisie.

Hoe kan ek die SOEK-funksie gebruik?

funksie SOEK (SOEK) soek na 'n teksstring binne 'n ander teksstring. Sy kan:

  • Soek 'n string teks binne 'n ander teksstring (hoofletter-onsensitief).
  • Gebruik jokertekens in jou soektog.
  • Bepaal die beginposisie in die gekykte teks.

SOEK Sintaksis

funksie SOEK (SOEK) het die volgende sintaksis:

SEARCH(find_text,within_text,[start_num])

ПОИСК(искомый_текст;текст_для_поиска;[нач_позиция])

  • vind_teks (soek_teks) is die teks waarna jy soek.
  • binne_teks (text_for_search) – 'n teksstring waarbinne die soektog uitgevoer word.
  • begin_nommer (begin_posisie) – indien nie gespesifiseer nie, sal die soektog vanaf die eerste karakter begin.

Traps SEARCH (SEARCH)

funksie SOEK (SOEK) sal die posisie van die eerste ooreenstemmende string terugstuur, hoofletter-onsensitief. As jy 'n hoofletter-sensitiewe soektog nodig het, kan jy die funksie gebruik VIND (VIND), wat ons later in die marathon sal ontmoet 30 Excel-funksies in 30 dae.

Voorbeeld 1: Soek teks in 'n string

Gebruik die funksie SOEK (SOEK) om teks binne 'n teksstring te vind. In hierdie voorbeeld sal ons soek na 'n enkele karakter (getik in sel B5) binne die teksstring wat in sel B2 gevind word.

=SEARCH(B5,B2)

=ПОИСК(B5;B2)

As die teks gevind word, sal die funksie SOEK (SOEK) sal die posisienommer van sy eerste karakter in die teksstring terugstuur. As dit nie gevind word nie, sal die resultaat 'n foutboodskap wees Fout # WAARDE! (#SO).

As die resultaat 'n fout is, kan u die funksie gebruik IFERROR (IFERROR) sodat in plaas daarvan om die funksie uit te voer SOEK (SOEK) vertoon die ooreenstemmende boodskap. Funksie IFERROR (IFERROR) is in Excel bekendgestel vanaf weergawe 2007. In vroeëre weergawes kon dieselfde resultaat verkry word deur gebruik te maak van IF (IF) saam met FOUT (EOSHIBKA).

=IFERROR(SEARCH(B5,B2),"Not Found")

=ЕСЛИОШИБКА(ПОИСК(B5;B2);"Not Found")

Voorbeeld 2: Gebruik jokertekens met SEARCH

Nog 'n manier om die resultaat na te gaan, het teruggekeer SOEK (SOEK), vir 'n fout – gebruik die funksie ISNUMBER (ISNUMMER). As die string gevind word, die resultaat SOEK (SOEK) sal 'n getal wees, wat 'n funksie beteken ISNUMBER (ISNUMBER) sal TRUE terugstuur. As die teks nie gevind word nie, dan SOEK (SOEK) sal 'n fout rapporteer, en ISNUMBER (ISNUMBER) sal ONWAAR terugstuur.

In die waarde van die argument vind_teks (soek_teks) jy kan jokertekens gebruik. Simbool * (sterretjie) vervang enige aantal karakters of geen, en ? (vraagteken) vervang enige enkele karakter.

In ons voorbeeld word die jokerteken gebruik *, dus sal die frases SENTRAAL, SENTRUM en SENTRUM in straatname gevind word.

=ISNUMBER(SEARCH($E$2,B3))

=ЕЧИСЛО(ПОИСК($E$2;B3))

Voorbeeld 3: Bepaal die beginposisie vir SOEK (SOEK)

As ons twee minustekens (dubbele ontkenning) voor die funksie skryf ISNUMBER (ISNUMBER), sal dit die waardes terugstuur 1/0 in plaas van WAAR/ONWAAR (WAAR/ONWAAR). Volgende, die funksie som (SOM) in sel E2 sal die totale aantal rekords tel waar die soekteks gevind is.

In die volgende voorbeeld toon kolom B:

Stad se naam | Beroep

Ons taak is om beroepe te vind wat die teksstring bevat wat in sel E1 ingevoer is. Die formule in sel C2 sou wees:

=--ISNUMBER(SEARCH($E$1,B2))

=--ЕЧИСЛО(ПОИСК($E$1;B2))

Hierdie formule het rye gevind wat die woord "bank" bevat, maar in een van hulle word hierdie woord nie in die naam van die beroep gevind nie, maar in die naam van die stad. Dit pas ons nie!

Elke stad se naam word gevolg deur 'n simbool | (vertikale balk), so ons, met behulp van die funksie SOEK (SOEK), kan ons die posisie van hierdie karakter vind. Die posisie daarvan kan gespesifiseer word as die waarde van die argument begin_nommer (begin_posisie) in die "hoof" funksie SOEK (SOEK). Gevolglik sal stadname deur die soektog geïgnoreer word.

Nou sal die getoetste en gekorrigeerde formule slegs die reëls tel wat die woord "bank" in die naam van die beroep bevat:

=--ISNUMBER(SEARCH($E$1,B2,SEARCH("|",B2)))

=--ЕЧИСЛО(ПОИСК($E$1;B2;ПОИСК("|";B2)))

Lewer Kommentaar