Excel-képlet: Az n-edik szó kivonása a szöveges karakterláncból -

Általános képlet

=TRIM(MID(SUBSTITUTE(A1," ",REPT(" ",LEN(A1))), (N-1)*LEN(A1)+1, LEN(A1)))

Összegzés

Ha meg kell kapnia az n-edik szót egy szöveges karakterláncban (azaz egy mondatot, kifejezést vagy bekezdést), akkor ezt egy okos (és megfélemlítő) képlettel teheti meg, amely öt Excel-funkciót ötvöz: TRIM, MID, SUBSTITUTE, REPT és LEN.

Magyarázat

Lényegében ez a képlet szóközökkel ellátott szöveges karakterláncot vesz fel, és további szóközökkel "elárasztja" azt, hogy minden helyet több szóközzel helyettesít a SUBSTITUTE és a REPT használatával. A felhasznált szóközök száma az eredeti szöveg teljes hosszán alapul.

Az eredményre ezen a ponton úgy gondolhat, mint az űr tengerében lebegő szavak "szigeteire" :)

Ezután a képlet a MID függvény segítségével nyeri ki a kívánt szót. A kiindulási pontot a következőkkel dolgozzuk ki:

(N-1)*LEN(A1)+1

És a kinyert összes karakter megegyezik a teljes szöveges karakterlánc hosszával.

Ezen a ponton megvan a kívánt szó, szóközökkel körülvéve. Végül a TRIM függvény levágja az összes szóköz karaktert, és csak a szót adja vissza.

Nagyon szeretem ezt a képletet, mert megmutatja, mit érhet el valamilyen kreatív gondolkodással.

Szöveg oszlopokba

Ne felejtsük el, hogy az Excel beépített Szöveg oszlopokba funkcióval rendelkezik, amely feloszthatja a szöveget a választott elválasztó szerint. Ha csak a 3. szót kell megszereznie sok szöveges karaktersorozatból, ez a képlet kényelmesebb (és dinamikusabb) lehet, de a Szöveg oszlopokba továbbra is sok helyzetben hasznos.

Jó linkek

Hatékony módszer az n-edik szó kibontására a karakterláncból (MrExcel fórum)

érdekes cikkek...