30 Excel-toimintoa 30 päivässä: HAKU

Eilen maratonissa 30 Excel-toimintoa 30 päivässä tunnistimme virhetyypit funktion avulla ERROR.TYPE (ERROR TYPE) ja varmisti, että se voi olla erittäin hyödyllinen Excelin virheiden korjaamisessa.

Maratonin 18. päivänä omistaudumme funktion tutkimiseen ETSI (HAE). Se etsii merkkiä (tai merkkejä) tekstimerkkijonosta ja raportoi, mistä se löydettiin. Katsomme myös, kuinka toimia tilanteissa, joissa tämä toiminto aiheuttaa virheen.

Tarkastellaanpa siis tarkemmin funktion teoriaa ja käytännön esimerkkejä ETSI (HAE). Jos sinulla on temppuja tai esimerkkejä tämän toiminnon käyttämisestä, jaa ne kommenteissa.

Toiminto 18: HAKU

Toiminto ETSI (SEARCH) etsii tekstimerkkijonoa toisesta tekstijonosta ja ilmoittaa sen sijainnin, jos se löytyy.

Kuinka voin käyttää SEARCH-toimintoa?

Toiminto ETSI (SEARCH) etsii tekstimerkkijonoa toisesta tekstijonosta. Hän voi:

  • Etsi tekstimerkkijono toisen tekstimerkkijonon sisältä (kirjainkoolla ei ole merkitystä).
  • Käytä haussa jokerimerkkejä.
  • Määritä katselun tekstin aloituspaikka.

HAKU Syntaksi

Toiminto ETSI (SEARCH) sisältää seuraavan syntaksin:

SEARCH(find_text,within_text,[start_num])

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

  • etsi_teksti (hakuteksti) on etsimäsi teksti.
  • tekstin sisällä (teksti_hakuun) – tekstimerkkijono, jonka sisällä haku suoritetaan.
  • aloitusnumero (aloituspaikka) – jos sitä ei ole määritetty, haku alkaa ensimmäisestä merkistä.

Ansoja SEARCH (SEARCH)

Toiminto ETSI (SEARCH) palauttaa ensimmäisen vastaavan merkkijonon sijainnin, kirjainkoolla ei ole merkitystä. Jos tarvitset kirjainkoon erottelua, voit käyttää toimintoa ETSI (FIND), jonka tapaamme myöhemmin maratonissa 30 Excel-toimintoa 30 päivässä.

Esimerkki 1: Tekstin etsiminen merkkijonosta

Käytä toimintoa ETSI (SEARCH) löytääksesi tekstiä tekstijonosta. Tässä esimerkissä etsimme yhtä merkkiä (kirjoitettuna soluun B5) solussa B2 löytyvästä tekstijonosta.

=SEARCH(B5,B2)

=ПОИСК(B5;B2)

Jos teksti löytyy, funktio ETSI (SEARCH) palauttaa ensimmäisen merkin paikkanumeron tekstijonossa. Jos ei löydy, tuloksena on virheilmoitus #ARVO! (#NIIN).

Jos tulos on virhe, voit käyttää toimintoa IFERROR (IFERROR), jotta funktion suorittamisen sijaan ETSI (SEARCH) näyttää vastaavan viestin. Toiminto IFERROR (IFERROR) otettiin käyttöön Excelissä versiosta 2007 alkaen. Aiemmissa versioissa sama tulos oli saatu käyttämällä IF (IF) yhdessä VIRHE (EOSHIBKA).

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

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

Esimerkki 2: Jokerimerkkien käyttäminen SEARCHissa

Toinen tapa tarkistaa palautettu tulos ETSI (SEARCH), jos virhe – käytä toimintoa ISNUMBER (ISNUMBER). Jos merkkijono löytyy, tulos ETSI (SEARCH) on numero, joka tarkoittaa funktiota ISNUMBER (ISNUMBER) palauttaa arvon TRUE. Jos tekstiä ei löydy, niin ETSI (SEARCH) ilmoittaa virheestä ja ISNUMBER (ISNUMBER) palauttaa FALSE.

Argumentin arvossa etsi_teksti (search_text) voit käyttää jokerimerkkejä. Symboli * (tähti) korvaa minkä tahansa määrän merkkejä tai ei yhtään, ja ? (kysymysmerkki) korvaa minkä tahansa yksittäisen merkin.

Esimerkissämme käytetään jokerimerkkiä *, joten ilmaisut CENTRAL, CENTER ja CENTER löytyvät kadunnimistä.

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

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

Esimerkki 3: HAKU (SEARCH) aloituspaikan määrittäminen

Jos kirjoitetaan kaksi miinusmerkkiä (kaksoisnegatio) funktion eteen ISNUMBER (ISNUMBER), se palauttaa arvot 1/0 TRUE/FALSE (TRUE/FALSE) sijaan. Seuraavaksi toiminto SUMMA (SUM) solussa E2 laskee tietueiden kokonaismäärän, joista hakuteksti löydettiin.

Seuraavassa esimerkissä sarake B näyttää:

Kaupungin nimi | Ammatti

Tehtävämme on löytää ammatteja, jotka sisältävät soluun E1 syötetyn tekstijonon. Solun C2 kaava olisi:

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

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

Tämä kaava löysi rivejä, jotka sisältävät sanan "pankki", mutta yhdessä niistä tämä sana ei löydy ammatin, vaan kaupungin nimestä. Tämä ei sovi meille!

Jokaisen kaupungin nimen perässä on symboli | (pystypalkki), joten me, käyttämällä toimintoa ETSI (SEARCH), löydämme tämän merkin sijainnin. Sen sijainti voidaan määrittää argumentin arvoksi aloitusnumero (aloituspaikka) "main"-funktiossa ETSI (HAE). Tämän seurauksena kaupunkien nimet ohitetaan haussa.

Nyt testattu ja korjattu kaava laskee vain ne rivit, jotka sisältävät sanan "pankki" ammatin nimessä:

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

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

Jätä vastaus