
Generieke formule
=TRIM(RIGHT(SUBSTITUTE(text," ",REPT(" ",100)),100))
Samenvatting
Om het laatste woord uit een tekstreeks te halen, kunt u een formule gebruiken die is gebaseerd op de functies TRIM, SUBSTITUTE, RIGHT en REPT. In het getoonde voorbeeld is de formule in C6:
=TRIM(RIGHT(SUBSTITUTE(B6," ",REPT(" ",100)),100))
Wat het woord "tijd" teruggeeft.
Uitleg
Deze formule is een interessant voorbeeld van een "brute force" -benadering die gebruik maakt van het feit dat TRIM een willekeurig aantal voorloopspaties zal verwijderen.
We werken van binnen naar buiten en gebruiken de SUBSTITUTE-functie om alle spaties in de tekst te vinden en elke spatie te vervangen door 100 spaties:
SUBSTITUTE(B6," ",REPT(" ",100))
Dus met de tekstreeks "een twee drie" ziet het resultaat er bijvoorbeeld als volgt uit:
one----------two----------three
Met koppeltekens die spaties vertegenwoordigen voor leesbaarheid. Houd er rekening mee dat er 100 spaties tussen elk woord staan.
Vervolgens extraheert de functie RIGHT 100 tekens, beginnend vanaf de rechterkant. Het resultaat ziet er als volgt uit:
-------three
Ten slotte verwijdert de TRIM-functie alle voorloopspaties en retourneert het laatste woord.
Opmerking: we gebruiken 100 willekeurig omdat dat voldoende groot moet zijn om zeer lange woorden te verwerken. Als je een vreemde situatie hebt met superlange woorden, verhoog dan indien nodig dit aantal.
Omgaan met inconsistente tussenruimten
Als de tekst waarmee u werkt een inconsistente spatiëring heeft (dwz extra spaties tussen woorden, extra voorloop- of volgspaties, enz.) Deze formule zal niet correct werken. Om met deze situatie om te gaan, voegt u een extra TRIM-functie toe aan de vervangingsfunctie, zoals:
=TRIM(RIGHT(SUBSTITUTE(TRIM(B6)," ",REPT(" ",100)),100))
Dit normaliseert alle spaties voordat de hoofdlogica wordt uitgevoerd.