Excel formula: Obreži tekst na n riječi -

Sadržaj

Generička formula

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

Sažetak

Za skraćivanje teksta na određeni broj riječi možete koristiti formulu koja se temelji na funkcijama ZAMJENA, PRONAĐI i LIJEVO. U prikazanom primjeru formula u xxx je:

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

Obrazloženje

Trebamo način da tekst podijelimo na određeni marker koji odgovara određenom broju riječi. Excel nema ugrađenu funkciju za raščlanjivanje teksta po riječi, pa pomoću argumenta "instance" funkcije SUBSTITUTE zamjenjuje znak "n-ti razmak" znakom funte (#), a zatim pomoću FIND i LEFT odbacuje sve tekst nakon markera.

Radeći iznutra prema van, SUBSTITUTE je konfiguriran da zamijeni n-tu pojavu razmaka, gdje n dolazi iz stupca C, tekst dolazi iz stupca B, a "#" je teško kodiran.

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

Rezultirajući niz vraća se u funkciju FIND, konfiguriran da traži "#".

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

Budući da je "#" 12. znak u tekstu, FIND vraća 12. Ne želimo uključiti sam razmak, pa oduzimamo 1:

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

LIJEVO vraća konačni rezultat iz formule "Mačka je sjedila".

Napomena: znak funte ("#") proizvoljan je i može se zamijeniti bilo kojim znakom koji se neće pojaviti u tekstu.

Dodajte elipse ili drugi znak

Da biste dodali "…" na kraj obrezanog teksta, upotrijebite ovako spajanje:

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

"…" možete zamijeniti bilo čime što želite.

Zanimljivi članci...