Excel-formel: Trimma texten till n ord -

Innehållsförteckning

Generisk formel

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

Sammanfattning

För att trimma text till ett visst antal ord kan du använda en formel baserad på funktionerna SUBSTITUT, HITTA och VÄNSTER. I exemplet som visas är formeln i xxx:

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

Förklaring

Vi behöver ett sätt att dela upp text vid en viss markör som motsvarar ett visst antal ord. Excel har ingen inbyggd funktion för att analysera text efter ord, så använd SUBSTITUTE-funktionens "instans" -argument för att ersätta ett "nth space" -tecken med pundtecknet (#) och använd sedan HITTA och VÄNSTER för att kassera alla text efter markören.

SUBSTITUTE arbetar inifrån och ut och är konfigurerad för att ersätta den n: e förekomsten av ett mellanslagstecken, där n kommer från kolumn C, texten kommer från kolumn B och "#" är hårdkodad.

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

Den resulterande strängen returneras till HITTA-funktionen, konfigurerad för att leta efter "#".

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

Eftersom "#" är det 12: e tecknet i texten returnerar HITTA 12. Vi vill inte inkludera själva mellanslagstecknet, så vi subtraherar 1:

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

VÄNSTER returnerar det slutliga resultatet från formeln "The cat sat".

Obs: pundtecknet ("#") är godtyckligt och kan ersättas med vilket tecken som helst som inte visas i texten.

Lägg till elips eller annan karaktär

För att lägga till "…" i slutet av den trimmade texten, använd sammankoppling så här:

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

Du kan ersätta "…" med vad du vill.

Intressanta artiklar...