Exceli valem: eemaldage viimane sõna -

Lang L: none (table-of-contents)

Üldine valem

=MID(A1,1,FIND("~",SUBSTITUTE(A1," ","~",LEN(A1)-LEN(SUBSTITUTE(A1," ",""))))-1)

Kokkuvõte

Viimase sõna eemaldamiseks tekstistringist saate kasutada funktsiooni MID põhinevat valemit abiga SUBSTITUTE, LEN ja FIND. Näidatud näites on lahtris B5 valem:

=MID(B5,1,FIND("~",SUBSTITUTE(B5," ","~",LEN(B5)-LEN(SUBSTITUTE(B5," ",""))))-1)

Selgitus

See valem kasutab funktsiooni MID viimase sõna eemaldamiseks tekstistringist. Peamine väljakutse on välja selgitada, kust viimane sõna algab.

Valem on veidi keerukas, kuid toimingud on lihtsad. Kõigepealt loeme LEN ja SUBSTITUTE abil, kui palju ruume tekstis on. Järgmisena kasutame funktsiooni SUBSTITUTE mõnevõrra varjatud "eksemplari" argumenti, et asendada viimane ruum tildega (~). Lõpuks kasutame FIND-i, et välja selgitada, kus tilde asub, ja funktsiooni MID, et kõik pärast tildet ära visata.

Seestpoolt välja töötades kasutame funktsioone LEN ja SUBSTITUTE, et lugeda, kui palju tühikuid kuvatakse järgmises:

LEN(B5)-LEN(SUBSTITUTE(B5," ","")) // returns 6

B5 tekstis tagastatakse see 6. See leht selgitab valemi seda osa üksikasjalikumalt. See ütleb meile, et me tahame teksti lõigata kuuenda tühiku tähemärgist.

Märkus: kui sõnu eraldab rohkem kui üks tühik, soovite kõigepealt tühikud normaliseerida funktsiooniga TRIM.

Seejärel ühendatakse number 6 teise eksemplari numbriga "Asendinumber":

SUBSTITUTE(B5," ","~",6) // insert tilde

Siin asendame ruumi ("") 6. eksemplari tildega (~). Pärast SUBSTITUTE käivitamist tagastab selle stringi:

"It's been seven hours and fifteen~days"

Märkus: me kasutame tildet (~) ainult seetõttu, et see on harva esinev märk. Võite kasutada mis tahes sümbolit, mis teile meeldib, kui seda ei kuvata lähtetekstis.

Järgmisena kasutame tilde leidmiseks funktsiooni FIND:

FIND("~","It's been seven hours and fifteen~days")-1

FIND tagastab 34, kuna tilde on 34. tähemärk. Lahutame sellest arvust 1, sest me ei taha viimast tühikut lõpptulemusse lisada. Nüüd saame valemit lihtsustada:

=MID(B5,1,33) // extract final text

Funktsioon MID tagastab seejärel märgid 1-33:

"It's been seven hours and fifteen"

Kohandatud eraldajaga

Sama valemit saab kasutada erineva eraldajaga. Näiteks kogu teksti eemaldamiseks pärast viimast kaldkriipsu "/" saate kasutada järgmist.

=MID(A1,1,FIND("~",SUBSTITUTE(A1,"/","~",LEN(A1)-LEN(SUBSTITUTE(A1,"/",""))))-1)

Eemaldage viimased n sõna

Valemit saate kohandada, et eemaldada viimased 2 sõna, viimased 3 sõna jne. Üldine vorm on:

=MID(A1,1,FIND("~",SUBSTITUTE(A1,d,"~",LEN(A1)-LEN(SUBSTITUTE(A1,d,""))-(n-1)))-1)

kus d on eraldaja ja n eemaldatavate sõnade arv.

Huvitavad Artiklid...