Excel-formel: Trim tekst til n ord -

Innholdsfortegnelse

Generisk formel

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

Sammendrag

For å trimme tekst til et bestemt antall ord, kan du bruke en formel basert på SUBSTITUTE, FIND og LEFT-funksjonene. I eksemplet vist er formelen i xxx:

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

Forklaring

Vi trenger en måte å dele tekst på en bestemt markør som tilsvarer et visst antall ord. Excel har ikke en innebygd funksjon for å analysere tekst etter ord, så bruker SUBSTITUTE-funksjonens "forekomst" -argument for å erstatte et "nte mellomrom" -tegn med pundtegnet (#), og deretter bruke FINN og VENSTRE til å forkaste alle tekst etter markøren.

Arbeider fra innsiden og ut, SUBSTITUTE er konfigurert til å erstatte den nte forekomsten av et mellomromstegn, der n kommer fra kolonne C, teksten kommer fra kolonne B, og "#" er hardkodet.

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

Den resulterende strengen returneres til FINN-funksjonen, konfigurert til å se etter "#".

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

Siden "#" er det 12. tegnet i teksten, returnerer FINN 12. Vi ønsker ikke å inkludere selve mellomromstegnet, så vi trekker 1:

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

VENSTRE returnerer det endelige resultatet fra formelen, "Katten satt".

Merk: pundtegnet ("#") er vilkårlig og kan erstattes med hvilket som helst tegn som ikke vises i teksten.

Legg til elipser eller annen karakter

For å legge til "…" på slutten av den trimmede teksten, bruk sammenføyning slik:

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

Du kan erstatte "…" med alt du vil.

Interessante artikler...