
Splošna formula
=MID(A1,1,FIND("~",SUBSTITUTE(A1," ","~",LEN(A1)-LEN(SUBSTITUTE(A1," ",""))))-1)
Povzetek
Če želite odstraniti zadnjo besedo iz besedilnega niza, lahko uporabite formulo, ki temelji na funkciji MID, s pomočjo SUBSTITUTE, LEN in FIND. V prikazanem primeru je formula v celici B5:
=MID(B5,1,FIND("~",SUBSTITUTE(B5," ","~",LEN(B5)-LEN(SUBSTITUTE(B5," ",""))))-1)
Pojasnilo
Ta formula uporablja funkcijo MID za odstranitev zadnje besede iz besedilnega niza. Glavni izziv je ugotoviti, kje se začne zadnja beseda.
Formula je nekoliko zapletena, vendar so koraki preprosti. Najprej preštejemo, koliko presledkov obstaja v besedilu, z uporabo LEN in NAMESTE. Nato v funkciji SUBSTITUTE uporabimo nekoliko nejasen argument "instance", da zamenjamo zadnji presledek s tildo (~). Na koncu uporabimo FIND, da ugotovimo, kje je tilda, in funkcijo MID, da zavržemo vse po tildi.
Če delamo od znotraj navzven, s pomočjo funkcij LEN in SUBSTITUTE preštejemo, koliko presledkov se pojavi v naslednjem:
LEN(B5)-LEN(SUBSTITUTE(B5," ","")) // returns 6
Za besedilo v B5 to vrne 6. Ta stran podrobneje razlaga ta del formule. To nam pove, da želimo besedilo izrezati na 6. presledek.
Opomba: če so besede ločene z več presledki, boste najprej želeli normalizirati presledke s funkcijo TRIM.
Številka 6 se nato priklopi v drugo NAMESTO kot "številka primerka":
SUBSTITUTE(B5," ","~",6) // insert tilde
Tu zamenjamo 6. primerek presledka ("") s tildo (~). Po zagonu SUBSTITUTE vrne ta niz:
"It's been seven hours and fifteen~days"
Opomba: tildo (~) uporabljamo samo zato, ker gre za redko pojavljajoč se znak. Uporabite lahko kateri koli znak, ki vam je všeč, če ni v izvornem besedilu.
Nato s pomočjo funkcije FIND poiščemo tildo:
FIND("~","It's been seven hours and fifteen~days")-1
FIND vrne 34, saj je tilda 34. znak. Od tega števila odštejemo 1, ker v končni rezultat ne želimo vključiti zadnjega presledka. Zdaj lahko formulo poenostavimo na:
=MID(B5,1,33) // extract final text
Nato funkcija MID vrne znake 1-33:
"It's been seven hours and fifteen"
Z ločevalnikom po meri
Enako formulo lahko uporabimo z drugačnim ločevalnikom. Če želite na primer odstraniti celotno besedilo po zadnji poševnici naprej "/", lahko uporabite:
=MID(A1,1,FIND("~",SUBSTITUTE(A1,"/","~",LEN(A1)-LEN(SUBSTITUTE(A1,"/",""))))-1)
Odstrani zadnjih n besed
Formulo lahko prilagodite tako, da odstranite zadnji dve besedi, zadnji 3 besedi itd. Splošna oblika je:
=MID(A1,1,FIND("~",SUBSTITUTE(A1,d,"~",LEN(A1)-LEN(SUBSTITUTE(A1,d,""))-(n-1)))-1)
kjer je d ločilo, n pa število besed, ki jih je treba odstraniti.