![](https://cdn.wiki-base.com/1075715/excel_formula_trim_text_to_n_words__2.png.webp)
Yleinen kaava
=LEFT(txt,FIND("#",SUBSTITUTE(txt," ","#",n))-1)
Yhteenveto
Jos haluat leikata tekstiä tietylle määrälle sanoja, voit käyttää funktioita SUBSTITUTE, FIND ja LEFT perustuvaa kaavaa. Esitetyssä esimerkissä kaava kohdassa xxx on:
=LEFT(B5,FIND("#",SUBSTITUTE(B5," ","#",C5))-1)
Selitys
Tarvitsemme tavan jakaa teksti tiettyyn merkkiin, joka vastaa tiettyä sanamäärää. Excelissä ei ole sisäänrakennettua funktiota tekstin jäsentämiseksi sanalta, joten käytät SUBSTITUTE-funktion "ilmentymä" -argumenttia korvatakseen "n: n välilyönnin" merkin puntimerkillä (#). teksti merkinnän jälkeen.
Sisältäpäin työskentelemällä SUBSTITUTE on määritetty korvaamaan välilyönnin n: nnen esiintymän, jossa n tulee sarakkeesta C, teksti tulee sarakkeesta B ja "#" on kovakoodattu.
=SUBSTITUTE(B5," ","#",C5) =SUBSTITUTE("The cat sat on the mat."," ","#",3) ="The cat sat#on the mat."
Tuloksena oleva merkkijono palautetaan FIND-funktioon, joka on määritetty etsimään "#".
=FIND("#","The cat sat#on the mat.)
Koska "#" on tekstin 12. merkki, FIND palauttaa 12. Emme halua sisällyttää itse välilyöntiä, joten vähennämme 1:
=LEFT(B5,12-1) =LEFT(B5,11)
VASEN palauttaa lopputuloksen kaavasta "Kissa istui".
Huomaa: punnan merkki ("#") on mielivaltainen ja se voidaan korvata millä tahansa merkillä, joka ei näy tekstissä.
Lisää elipsit tai muu merkki
Lisää "…" leikatun tekstin loppuun käyttämällä ketjutusta seuraavasti:
=LEFT(B5,FIND("#",SUBSTITUTE(B5," ","#",C5))-1)&"… "
Voit korvata "…" millä tahansa haluamallasi tavalla.