
Generisk formel
=TRIM(RIGHT(SUBSTITUTE(text," ",REPT(" ",100)),100))
Sammendrag
For å få det siste ordet fra en tekststreng, kan du bruke en formel basert på funksjonene TRIM, SUBSTITUTE, RIGHT og REPT. I eksemplet vist er formelen i C6:
=TRIM(RIGHT(SUBSTITUTE(B6," ",REPT(" ",100)),100))
Som returnerer ordet "tid".
Forklaring
Denne formelen er et interessant eksempel på en "brute force" -tilnærming som utnytter det faktum at TRIM vil fjerne et hvilket som helst antall ledende rom.
Arbeider oss fra innsiden og ut, bruker vi SUBSTITUTE-funksjonen til å finne alle mellomrom i teksten, og erstatter hvert mellomrom med 100 mellomrom:
SUBSTITUTE(B6," ",REPT(" ",100))
Så for eksempel, med tekststrengen "one two three" vil resultatet se slik ut:
one----------two----------three
Med bindestreker som representerer rom for lesbarhet. Husk at det vil være 100 mellomrom mellom hvert ord.
Deretter trekker RIGHT-funksjonen ut 100 tegn, fra høyre. Resultatet vil se slik ut:
-------three
Til slutt fjerner TRIM-funksjonen alle ledende mellomrom, og returnerer det siste ordet.
Merk: Vi bruker 100 vilkårlig fordi det burde være et stort nok antall til å håndtere veldig lange ord. Hvis du har en merkelig situasjon med superlange ord, støt dette tallet etter behov.
Håndtering av inkonsekvent avstand
Hvis teksten du jobber med har inkonsekvent mellomrom (dvs. ekstra mellomrom mellom ord, ekstra mellomrom osv.) Denne formelen fungerer ikke riktig. For å håndtere denne situasjonen, legg til en ekstra TRIM-funksjon i erstatningsfunksjonen slik:
=TRIM(RIGHT(SUBSTITUTE(TRIM(B6)," ",REPT(" ",100)),100))
Dette vil normalisere alle mellomrom før hovedlogikken kjører.