Excel vzorec: Oříznutí textu na n slov -

Obsah

Obecný vzorec

=LEFT(txt,FIND("#",SUBSTITUTE(txt," ","#",n))-1)

souhrn

Chcete-li oříznout text na určitý počet slov, můžete použít vzorec založený na funkcích SUBSTITUTE, FIND a LEFT. V zobrazeném příkladu je vzorec v xxx:

=LEFT(B5,FIND("#",SUBSTITUTE(B5," ","#",C5))-1)

Vysvětlení

Potřebujeme způsob, jak rozdělit text na určitou značku, která odpovídá určitému počtu slov. Excel nemá vestavěnou funkci pro analýzu textu po slovech, takže používá argument „instance“ funkce SUBSTITUTE k nahrazení znaku „n-té mezery“ znakem libry (#), poté pomocí FIND a LEFT zahodí text za značkou.

Při práci zevnitř ven je SUBSTITUTE nakonfigurován tak, aby nahradil n-tý výskyt znaku mezery, kde n pochází ze sloupce C, text pochází ze sloupce B a znak „#“ je pevně zakódován.

=SUBSTITUTE(B5," ","#",C5) =SUBSTITUTE("The cat sat on the mat."," ","#",3) ="The cat sat#on the mat."

Výsledný řetězec je vrácen do funkce FIND, nakonfigurován tak, aby hledal „#“.

=FIND("#","The cat sat#on the mat.)

Protože „#“ je 12. znak v textu, funkce FIND vrátí 12. Nechceme do něj zahrnout samotný znak mezery, takže odečteme 1:

=LEFT(B5,12-1) =LEFT(B5,11)

VLEVO vrátí konečný výsledek ze vzorce „Kočka seděla“.

Poznámka: Znak libry („#“) je libovolný a lze jej nahradit jakýmkoli znakem, který se v textu neobjeví.

Přidejte elipsy nebo jiný znak

Chcete-li na konec oříznutého textu přidat „…“, použijte toto zřetězení:

=LEFT(B5,FIND("#",SUBSTITUTE(B5," ","#",C5))-1)&"… "

„…“ Můžete nahradit čímkoli, co se vám líbí.

Zajímavé články...