Excel vzorec: Orezanie textu na n slov -

Obsah

Všeobecný vzorec

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

Zhrnutie

Ak chcete text orezať na určitý počet slov, môžete použiť vzorec založený na funkciách SUBSTITUTE, FIND a LEFT. V zobrazenom príklade je vzorec v xxx:

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

Vysvetlenie

Potrebujeme spôsob, ako rozdeliť text na určitú značku, ktorá zodpovedá určitému počtu slov. Excel nemá zabudovanú funkciu na analýzu textu po slove, takže pomocou argumentu „inštancia“ funkcie SUBSTITUTE nahradíte znak „n-tej medzery“ znakom libry (#), potom pomocou FIND a LEFT zahodíte všetky text za značkou.

Pri práci zvnútra je SUBSTITUTE nakonfigurovaný tak, aby nahradil n-tý výskyt znaku medzery, kde n pochádza zo stĺpca C, text pochádza zo stĺpca B a znak „#“ je pevne zakódovaný.

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

Výsledný reťazec sa vráti funkcii FIND, nakonfigurovanej na hľadanie znaku „#“.

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

Pretože „#“ je 12. znak v texte, funkcia FIND vráti 12. Nechceme zahrnúť samotný znak medzery, preto odčítame 1:

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

DOĽAVA vráti konečný výsledok zo vzorca „Mačka sedela“.

Poznámka: Znak libry („#“) je ľubovoľný a dá sa nahradiť akýmkoľvek znakom, ktorý sa v texte nezobrazí.

Pridajte elipsy alebo iný znak

Ak chcete na koniec orezaného textu pridať „…“, použite zreťazenie takto:

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

„…“ môžete nahradiť čímkoľvek, čo sa vám páči.

Zaujímavé články...