Excel-formule: laatste woord ophalen -

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.

Goede links

Leuke uitleg op MrExcel.com door T. Valko (Biff)

Interessante artikelen...