Excel képlet: Az utolsó szó beolvasása -

Általános képlet

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

Összegzés

Az utolsó szó megszerzéséhez egy szöveges karakterláncból használhatja a TRIM, SUBSTITUTE, RIGHT és REPT függvényen alapuló képletet. A bemutatott példában a C6 képlete a következő:

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

Ami visszaadja az "idő" szót.

Magyarázat

Ez a képlet érdekes példa a "brute force" megközelítésre, amely kihasználja azt a tényt, hogy a TRIM tetszőleges számú vezető teret eltávolít.

Belülről kifelé haladva a SUBSTITUTE funkcióval megtaláljuk a szöveg összes helyét, és minden helyet 100 szóközzel helyettesítünk:

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

Tehát például az "egy kettő három" szöveges karaktersorozattal az eredmény így fog kinézni:

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

Az olvashatóság érdekében szóközt képviselő kötőjelekkel. Ne feledje, hogy minden szó között 100 szóköz lesz.

Ezután a RIGHT függvény 100 karaktert von ki, jobbról indulva. Az eredmény így fog kinézni:

-------three

Végül a TRIM funkció eltávolítja az összes vezető szóközt, és visszaadja az utolsó szót.

Megjegyzés: Önkényesen használunk 100-at, mert ennek elég nagynak kell lennie a nagyon hosszú szavak kezeléséhez. Ha van valami furcsa helyzeted szuper hosszú szavakkal, szükség szerint dobd fel ezt a számot.

A következetlen távolság kezelése

Ha a szöveg, amellyel dolgozik, ellentmondásos a térközzel (pl. Extra szóközök a szavak között, extra vezető vagy záró szóközök stb.), Akkor ez a képlet nem fog megfelelően működni. A helyzet kezeléséhez adjon hozzá egy extra TRIM függvényt a helyettesítő függvény belsejébe:

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

Ez normalizálja az összes helyet a fő logika futtatása előtt.

Jó linkek

Szép magyarázat a MrExcel.com-on, T. Valko (Biff)

érdekes cikkek...