HAKU Fx - Etsi merkkijono merkkijonosta - Excel, VBA & G Sheets

Lataa esimerkkityökirja

Lataa esimerkkityökirja

Tämä opetusohjelma osoittaa, miten Excel SEARCH -toiminto Excelissä tekstin sijainnin löytämiseksi solussa.

SEARCH -toiminnon yleiskatsaus

SEARCH -toiminto Etsii merkin tai tekstimerkkijonon ja palauttaa sen sijainnin solussa. Ei kirjainkoolla.

Jos haluat käyttää SEARCH Excel -laskentataulukkotoimintoa, valitse solu ja kirjoita:

(Huomaa, miten kaavasyötteet näkyvät)

Hakutoiminnon syntaksi ja tulot:

= HAKU (etsi_teksti, tekstin sisällä, aloitusnumero)

find_text - Tekstin merkkijono, jonka haluat löytää.

tekstin sisällä - Alkuperäinen tekstijono.

aloitusnumero - VALINNAINEN. Merkin numero, josta haku aloitetaan. Huomautus: Tämä muuttaa vain hakualuetta, se ei vaikuta haun löytämisen yhteydessä palautettuun numeroon. Esimerkki: hakusana "s" merkkijonosta "suns" palauttaa oletuksena arvon 1, mutta jos aloitusnumero on 2, se palauttaa 4.

Mikä on SEARCH -toiminto?

Excel SEARCH -toiminto "etsii" tekstimerkkijonoa toisesta merkkijonosta. Jos teksti löytyy, SEARCH palauttaa merkkijonon numeerisen sijainnin.

SEARCH EI ole kirjainkoolla. Tämä tarkoittaa, että "teksti" vastaa "TEXT". Jos haluat etsiä tekstiä kirjainkoolla, käytä FIND-toimintoa <>.

SEARCH -toiminnon käyttäminen

Excel SEARCH -toiminto toimii seuraavasti:

= HAKU ("e", "norsu")

Tässä Excel palauttaa arvon 1, koska "e" on elefantin ensimmäinen merkki.

Alla on muutama esimerkki lisää.

Lähtönumero (aloitusnumero)

Vaihtoehtoisesti voit määrittää aloitusnumeron (aloitusnumero). start_num kertoo SEARCH -toiminnolle, mistä haku aloitetaan. Jos jätät kentän tyhjäksi, haku alkaa ensimmäisestä merkistä.

= HAKU (B3, C3)

Asetetaan nyt aloitusnumeroksi 2, mikä tarkoittaa, että SEARCH alkaa etsiä toisesta merkistä.

= HAKU (B3, C3, D3)

Tässä tapauksessa SEARCH palauttaa 3: toisen "e": n sijainnin.

Tärkeää: start_num ei vaikuta palautusarvoon, SEARCH alkaa aina laskea ensimmäisellä merkillä.

Aloitusnumeron (aloitusnumero) virheet

Jos käytät aloitusnumeroa, varmista, että se on positiivinen kokonaisluku, joka on pienempi kuin haettavan merkkijonon pituus, muuten saat virheilmoituksen. Saat myös virheilmoituksen, jos annat tyhjän solun aloitusnumeroksi:

= HAKU (B3, C3, D3)

Epäonnistuneet haut Palauta #ARVO! Virhe

Jos SEARCH ei löydä hakuarvoa, Excel palauttaa #ARVO! virhe.

Kirjainkoolla ei merkitystä

Alla oleva esimerkki osoittaa, että SEARCH-toiminto ei erota kirjainkokoa. Haimme "abc", mutta HAKU palautti 1, koska se vastasi "ABC".

Jokerimerkkihaku

Voit käyttää hakutoiminnolla yleismerkkejä, joiden avulla voit etsiä määrittämättömiä merkkejä.

Hakutekstissä oleva kysymysmerkki tarkoittaa mitä tahansa merkkiä. Joten "? 000" alla olevassa esimerkissä tarkoittaa "Hae mitä tahansa merkkiä, jota seuraa kolme nollaa".

Tähti tarkoittaa "mitä tahansa määrää tuntemattomia merkkejä". Tässä etsimme "1*C", ja SEARCH palauttaa 2, koska se vastaa sitä "1-ABC".

Seuraavassa esimerkissä etsimme "000?" - toisin sanoen ”000”, jota seuraa mikä tahansa merkki. Meillä on "000", mutta se on merkkijonon lopussa, eikä sen jälkeen seuraa merkkejä, joten saamme virheilmoituksen

Jos kuitenkin käytimme tähtiä kysymysmerkin sijasta - siis "000*" "000?": N sijaan, saamme osuman. Tämä johtuu siitä, että tähti tarkoittaa "mitä tahansa määrää merkkejä" - ei merkkejä.

Kuinka jakaa etu- ja sukunimet solusta haun avulla

Jos sinulla on etu- ja sukunimi samassa solussa ja haluat antaa heille jokaiselle solun, voit käyttää sitä haulla - mutta sinun on käytettävä myös muutamia muita toimintoja.

Etunimen saaminen

VASEN Excel -funktio palauttaa tietyn määrän merkkejä merkkijonosta vasemmalta alkaen.

Jos palautamme haun avulla etu- ja sukunimen välisen tilan, vähennä siitä 1, tiedämme kuinka kauan etunimi on. Sitten voimme vain siirtää sen VASEMMALLE.

Etunimen kaava on:

= VASEN (B3, HAKU (““, B3) -1)

Sukunimen saaminen

OIKEA Excel -funktio palauttaa tietyn määrän merkkejä merkkijonon oikealta puolelta.

Saadaksesi sukunimen pituutta vastaavan määrän merkkejä, käytämme hakua kertoaksemme välilyönnin sijainnin ja vähennämme sitten numeron merkkijonon kokonaispituudesta - jonka voimme saada LEN: n avulla.

Sukunimen kaava on:

= OIKEA (B3, LEN (B3) -SEARCH (““, B3))

Huomaa, että jos nimitietosi sisältävät keskimmäisiä nimiä, keskimmäinen nimi jaetaan "Sukunimi" -soluun.

SEARCH -toiminnon käyttäminen merkkijonon n: nnen merkin palauttamiseen

Kuten edellä on mainittu, SEARCH palauttaa ensimmäisen löytämänsä osuman sijainnin. Mutta yhdistämällä sen CHAR- ja SUBSTITUTE -ominaisuuksiin voimme käyttää sitä hahmon myöhempien esiintymien, kuten toisen tai kolmannen esiintymän, paikantamiseen.

Tässä on kaava:

= HAKU (CHAR (134), KORVAA (D3, C3, CHAR (134), B3))

Se voi näyttää aluksi hieman monimutkaiselta, joten tarkennetaan se:

  • Käytämme SEARCHia ja etsimämme merkkijono on "CHAR (134)". CHAR palauttaa merkin sen ASCII -koodin perusteella. CHAR (134) on tikarin symboli - voit käyttää mitä tahansa täällä, kunhan se ei näy todellisessa merkkijonossasi.
  • SUBSTITUTE käy läpi merkkijonon ja korvaa yhden merkin tai alimerkkijonon toiselle. Tässä me korvaamme etsimäsi merkkijonon (joka on C3: ssa) CHAR: lla (134). Tämä johtuu siitä, että SUBSTITUTE: n neljäs parametri on ilmentymän numero, jonka olemme tallentaneet B3: een.
  • Joten SUBSTITUTE vaihtaa merkkijonon n: nnen merkin tikarin symboliksi ja SEARCH palauttaa sen sijainnin.

Tältä se näyttää:

Jousen keskiosan löytäminen

Kuvittele, että sinulla on monia sarjanumeroita seuraavassa muodossa:

AB1XCDC-1BB/BB99

Sinua on pyydetty vetämään kunkin keskiosa. Sen sijaan, että teet tämän käsin, voit yhdistää SEARCHin ja MID: n tämän tehtävän automatisoimiseksi.

MID Excel -toiminto palauttaa osan merkkijonosta. Sen syötteet ovat tekstimerkkijono, aloituspiste ja useita merkkejä.

Koska haluamamme lähtökohta on yhdysmerkin jälkeinen merkki, voimme käyttää haun avulla tavuviivan sijainnin ja lisätä siihen yhden. Jos sarjanumero olisi B3: ssa, käytämme:

= HAKU ("-", B3) +1

Saadaksemme täältä haettavien merkkien määrän voimme käyttää hakua saadaksesi vinoviivan sijainnin, vähentämällä väliviivan sijainnin ja vähentämällä sitten yhden, jotta emme palauta itse vinoviivaa:

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

Sitten yksinkertaisesti liitämme nämä kaksi kaavaa MID: iin:

HAKU VS ETSI

SEARCH ja FIND ovat samankaltaisia ​​toimintoja. Molemmat palauttavat tietyn merkin tai alimerkkijonon sijainnin toisen merkkijonon sisällä. On kuitenkin kaksi keskeistä eroa:

  • FIND erottaa isot ja pienet kirjaimet, mutta SEARCH ei ole
  • FIND ei salli jokerimerkkejä, mutta SEARCH sallii

Näet muutamia esimerkkejä näistä eroista alla:

HAKU Google Sheetsissä

SEARCH -toiminto toimii täsmälleen samalla tavalla Google Sheetsissä kuin Excelissä:

Lisämerkinnät

SEARCH-toiminto on kirjainkokoa erottava versio ETSI-toiminnosta. SEARCH tukee myös jokerimerkkejä. Etsi ei.

HAKU Esimerkkejä VBA: sta

Voit myös käyttää SEARCH -toimintoa VBA: ssa. Tyyppi:
application.worksheetfunction.search (etsi_teksti, tekstin sisällä, aloitusnumero)
Funktioargumenteille (etsi_teksti jne.) Voit joko syöttää ne suoraan funktioon tai määrittää sen sijaan käytettäviä muuttujia.

Palaa Excelin kaikkien toimintojen luetteloon

Tulet auttaa kehittämään sivuston jakaminen sivu ystävillesi

wave wave wave wave wave