Excel-kaava: Pura sana, joka alkaa tietyllä merkillä -

Sisällysluettelo

Yleinen kaava

=TRIM(LEFT(SUBSTITUTE(MID(txt,FIND("@",txt),LEN(txt))," ",REPT(" ",100)),100))

Yhteenveto

Voit purkaa sanalla, joka alkaa tietyllä merkillä, käyttämällä kaavaa, joka perustuu kuuteen toimintoon: TRIM, LEFT, SUBSTITUTE, MID, LEN ja REPT. Tämä lähestymistapa on hyödyllinen, jos haluat poimia asioita, kuten Twitter-käyttäjänimi, solusta, joka sisältää muuta tekstiä.

Esitetyssä esimerkissä kaava kohdassa C5 on:

=TRIM(LEFT(SUBSTITUTE(MID(B5,FIND("@",B5),LEN(B5))," ",REPT(" ",100)),100))

Selitys

Sisältäpäin ulospäin MID-toimintoa käytetään kaiken tekstin purkamiseen "@" jälkeen:

MID(B5,FIND("@",B5),LEN(B5))

FIND-toiminto tarjoaa lähtökohdan, ja jotta merkkien kokonaismäärä voidaan purkaa, käytämme vain LEN-tekstiä alkuperäisessä tekstissä. Tämä on vähän huolimaton, mutta se välttää tarvetta laskea tarkka poimittavien merkkien lukumäärä. MID ei välitä, onko tämä numero suurempi kuin jäljellä olevat merkit, se vain poimii kaiken tekstin, joka seuraa merkkiä "@".

Seuraavaksi "upotamme" jäljellä olevan tekstin välilyönteillä korvaamalla minkä tahansa yksittäisen tilan 100 välilyönnillä käyttämällä SUBSTITUTE ja REPT -yhdistelmää:

SUBSTITUTE("@word and remaining text"," ",REPT(" ",100))

Tämä näyttää hullulta, mutta logiikka selviää alla.

Seuraavaksi poimia vain haluamasi sana (eli @word), käytämme VASEMMALLA ensimmäiset 100 merkkiä vasemmalta. Tämä saa meidät "@word" sekä monia ylimääräisiä välilyöntejä. Visualisoitavaksi alla olevat väliviivat edustavat välilyöntejä:

@sana---------------------

Nyt meidän on vain poistettava kaikki ylimääräiset tilat. Tätä varten käytämme TRIM-toimintoa.

Huomaa: 100 edustaa pisintä sanaa, jonka odotat löytävän ja joka alkaa erikoismerkillä. Lisää tai vähennä tarpeidesi mukaan.

Onko sinulla parempi tapa tehdä tämä? Kerro minulle alla olevissa kommenteissa!

Mielenkiintoisia artikkeleita...