Excel vzorec: Získejte poslední slovo -

Obecný vzorec

=TRIM(RIGHT(SUBSTITUTE(text," ",REPT(" ",100)),100))

souhrn

Chcete-li získat poslední slovo z textového řetězce, můžete použít vzorec založený na funkcích TRIM, SUBSTITUTE, RIGHT a REPT. V zobrazeném příkladu je vzorec v C6:

=TRIM(RIGHT(SUBSTITUTE(B6," ",REPT(" ",100)),100))

Což vrací slovo „čas“.

Vysvětlení

Tento vzorec je zajímavým příkladem přístupu „hrubou silou“, který využívá skutečnosti, že TRIM odstraní libovolný počet předních mezer.

Při práci zevnitř ven používáme funkci SUBSTITUTE k vyhledání všech mezer v textu a nahrazení každé mezery 100 mezerami:

SUBSTITUTE(B6," ",REPT(" ",100))

Například s textovým řetězcem „jedna dvě tři“ bude výsledek vypadat takto:

one----------two----------three

S pomlčkami představujícími mezery pro čitelnost. Pamatujte, že mezi každým slovem bude 100 mezer.

Funkce RIGHT dále extrahuje 100 znaků počínaje zprava. Výsledek bude vypadat takto:

-------three

Nakonec funkce TRIM odstraní všechny úvodní mezery a vrátí poslední slovo.

Poznámka: Používáme 100 libovolně, protože by to mělo být dostatečně velké číslo pro zpracování velmi dlouhých slov. Pokud máte zvláštní situaci se super dlouhými slovy, zvyšte toto číslo podle potřeby.

Zpracování nekonzistentních mezer

Pokud má text, s nímž pracujete, nekonzistentní mezery (tj. Mezery mezi slovy, mezery navíc, začátek nebo konec atd.), Nebude tento vzorec fungovat správně. Chcete-li zvládnout tuto situaci, přidejte další funkci TRIM do náhradní funkce takto:

=TRIM(RIGHT(SUBSTITUTE(TRIM(B6)," ",REPT(" ",100)),100))

Tím se normalizují všechny mezery před spuštěním hlavní logiky.

Dobré odkazy

Pěkné vysvětlení na MrExcel.com od T. Valka (Biff)

Zajímavé články...