OTSI Fx - otsige stringist alamstring - Excel, VBA & G Sheets

Laadige alla töövihiku näide

Laadige alla töövihiku näide

See õpetus näitab, kuidas Funktsioon Excel SEARCH Excelis teksti asukoha leidmiseks lahtris.

Funktsiooni SEARCH ülevaade

Funktsioon SEARCH Otsib märgi või tekstistringi ja tagastab selle asukoha lahtris. Ei ole tõstutundlik.

Funktsiooni SEARCH Excel töölehe kasutamiseks valige lahter ja tippige:

(Pange tähele, kuidas valemisisendid ilmuvad)

Otsingufunktsiooni süntaks ja sisendid:

= OTSI (otsi_tekst, teksti sees, algusnumber)

otsi_tekst - tekstistring, mida soovite leida.

teksti_teksti sees - Algne tekstirida.

algusnumber - VALIKULINE. Märgi number, millest otsingut alustada. Märkus. See muudab ainult otsinguvahemikku, see ei mõjuta vaste leidmisel tagastatud numbrit. Näide: stringis „suns” sõna „s” otsimine tagastab vaikimisi 1, kuid kui algusnumber on seatud 2, tagastab see 4.

Mis on otsingufunktsioon?

Funktsioon Excel SEARCH „otsib” tekstistringi teisest stringist. Kui tekst leitakse, tagastab SEARCH stringi numbrilise asukoha.

SEARCH EI ole tõstutundlik. See tähendab, et tekst vastab tekstile TEXT. Väiketähtede tundliku teksti otsimiseks kasutage selle asemel funktsiooni FIND <>.

Funktsiooni SEARCH kasutamine

Funktsioon Excel SEARCH töötab järgmiselt.

= OTSI ("e", "elevant")

Siin tagastab Excel 1, kuna "e" on "elevandi" esimene märk.

Allpool on veel mõned näited.

Stardinumber (algusnumber)

Soovi korral saate määrata stardinumbri (algusnumber). start_num ütleb funktsioonile SEARCH, kust otsingut alustada. Kui jätate selle tühjaks, algab otsing esimesest tähemärgist.

= OTSI (B3, C3)

Nüüd määrame start_num väärtuseks 2, mis tähendab, et SEARCH hakkab otsima teisest tähemärgist.

= OTSI (B3, C3, D3)

Sel juhul tagastab otsing SEARCH 3: teise "e" positsiooni.

Tähtis: start_num ei mõjuta tagastusväärtust, SEARCH hakkab alati lugema esimese märgiga.

Stardinumbri (algusnumber) vead

Kui kasutate stardinumbrit, veenduge, et see oleks terve, positiivne arv, mis on väiksem kui otsitava stringi pikkus, vastasel juhul kuvatakse tõrge. Samuti saate vea, kui sisestate oma algusnumbrina tühja lahtri:

= OTSI (B3, C3, D3)

Ebaõnnestunud otsingud tagastage #VALUE! Viga

Kui SEARCH ei leia otsinguväärtust, tagastab Excel #VALUE! viga.

Suur- ja väiketähtede otsing

Allolev näide näitab, et funktsioon SEARCH ei ole tõstutundlik. Otsisime “abc”, kuid SEARCH andis tulemuseks 1, kuna see vastas “ABC”.

Metamärgiotsing

Otsinguga SEARCH saate kasutada metamärke, mis võimaldavad otsida täpsustamata märke.

Küsimärk teie otsingutekstis tähendab „mis tahes tähemärki”. Seega tähendab "? 000" allolevas näites "Otsige suvalist märki, millele järgneb kolm nulli."

Tärn tähendab "suvalist arvu tundmatuid märke". Siin otsime “1*C” ja SEARCH tagastab 2, kuna see vastab sellele “1-ABC”.

Järgmises näites otsime "000?" - see tähendab “000”, millele järgneb mis tahes märk. Meil on “000”, kuid see on stringi lõpus ja seetõttu ei järgne sellele ühtegi märki, nii et saame vea

Kui aga kasutasime küsimärgi asemel tärni - seega „000?” Asemel „000*”, saame vaste. Selle põhjuseks on asjaolu, et tärn tähendab "suvalist arvu tähemärke", sealhulgas tähemärke pole.

Kuidas lahutada ees- ja perekonnanimed lahtrist otsingu abil

Kui teil on samas lahtris ees- ja perekonnanimi ning soovite neile igaüks lahtri anda, saate selle jaoks kasutada otsingut, kuid peate kasutama ka mõnda muud funktsiooni.

Eesnime saamine

Funktsioon LEFT Excel tagastab stringist teatud arvu tähemärke, alustades vasakult.

Kui kasutame otsingu abil ees- ja perekonnanime vahelise tühiku positsiooni, lahutame sellest 1, teame, kui pikk on eesnimi. Siis saame selle lihtsalt vasakule edastada.

Eesnime valem on järgmine:

= VASAK (B3, OTSI ("", B3) -1)

Perekonnanime saamine

Funktsioon PAREM Excel tagastab stringist paremalt teatud arvu tähemärke.

Et saada perekonnanime pikkusega võrdne arv tähemärke, kasutame tühiku asukoha määramiseks otsingut (SEARCH), seejärel lahutame selle numbri stringi kogupikkusest - mille saame LEN -iga.

Perekonnanime valem on järgmine:

= PAREM (B3, LEN (B3) -SEARCH ("", B3))

Pange tähele, et kui teie nimeandmed sisaldavad kesknimesid, jagatakse keskmine nimi lahtrisse „Perekonnanimi”.

SEARCH -i kasutamine stringi n -nda märgi tagastamiseks

Nagu eespool märgitud, tagastab SEARCH esimese leitud vaste positsiooni. Kuid kombineerides selle CHARi ja asendajaga, saame seda kasutada tegelase hilisemate esinemiste, näiteks teise või kolmanda astme, leidmiseks.

Siin on valem:

= OTSI (CHAR (134), ASENDUS (D3, C3, CHAR (134), B3))

Esialgu võib see tunduda pisut keeruline, nii et jagame selle lahti:

  • Kasutame SEARCH -i ja otsitav string on "CHAR (134)". CHAR tagastab tähemärgi oma ASCII -koodi alusel. CHAR (134) on pistoda sümbol - siin saate kasutada kõike, kui see ei ilmu teie tegelikus stringis.
  • SUBSTITUTE läbib stringi ja asendab ühe märgi või alamstringi teisega. Siin asendame soovitud stringi (mis on C3 -s) CHAR -iga (134). Põhjus, miks see töötab, on see, et SUBSTITUTE neljas parameeter on eksemplari number, mille oleme salvestanud B3 -sse.
  • Niisiis, SUBSTITUTE vahetab stringi n -nda märgi pistoda sümboli vastu ja seejärel tagastab SEARCH selle asukoha.

See näeb välja selline:

Stringi keskmise lõigu leidmine

Kujutage ette, et teil on palju järgmise vorminguga seerianumbreid:

AB1XCDC-1BB/BB99

Teil paluti tõmmata iga osa keskmine osa välja. Selle asemel, et seda käsitsi teha, saate selle otsingu automatiseerimiseks kombineerida SEARCH -i ja MID -i.

Funktsioon MID Excel tagastab stringi osa. Selle sisendid on tekstistring, alguspunkt ja hulk märke.

Kuna soovitud lähtepunkt on sidekriipsu järel olev märk, saame sidekriipsu asukoha saamiseks kasutada otsingut SEARCH ja lisada sellele 1. Kui seerianumber oleks B3 -s, kasutaksime järgmist:

= OTSI ("-", B3) +1

Siit väljatõmmatavate märkide arvu saamiseks võime otsingu abil saada kaldkriipsu positsiooni, lahutada sidekriipsu positsiooni ja seejärel lahutada 1, et tagada, et me ei tagastaks kaldkriipsu ise:

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

Seejärel ühendame need kaks valemit lihtsalt MID -i:

OTSI VS OTSI

SEARCH ja FIND on sarnased funktsioonid. Mõlemad tagastavad antud märgi või alamstringi asukoha teises stringis. Siiski on kaks peamist erinevust:

  • FIND on tõstutundlik, kuid SEARCH ei ole
  • FIND ei luba metamärke, kuid SEARCH lubab

Allpool näete mõningaid näiteid nende erinevuste kohta.

OTSI Google'i arvutustabelitest

Funktsioon SEARCH töötab Google'i arvutustabelites täpselt samamoodi nagu Excelis:

lisamärkmed

Funktsioon SEARCH on funktsiooni FIND tähestiku- ja suurtähtede vahet kasutav versioon. SEARCH toetab ka metamärke. Leia mitte.

OTSI Näiteid VBA -s

Funktsiooni SEARCH saate kasutada ka VBA -s. Tüüp:
application.worksheetfunction.search (leidke_tekst, tekstisisese tekstiga, algusnumber)
Funktsiooniargumentide (otsingutekst jne) jaoks saate need kas otse funktsiooni sisestada või määrata selle asemel kasutatavad muutujad.

Tagasi kõigi Exceli funktsioonide loendisse

wave wave wave wave wave