Formula Excel: tăiați textul cu n cuvinte -

Cuprins

Formula generică

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

rezumat

Pentru a reduce textul la un anumit număr de cuvinte, puteți utiliza o formulă bazată pe funcțiile SUBSTITUTE, FIND și STÂNGA. În exemplul prezentat, formula din xxx este:

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

Explicaţie

Avem nevoie de o modalitate de a împărți textul la un anumit marker care corespunde unui anumit număr de cuvinte. Excel nu are o funcție încorporată pentru a analiza textul cu cuvântul, așa că utilizează argumentul „instanță” al funcției SUBSTITUTE pentru a înlocui un caracter „al n-lea spațiu” cu semnul lire (#), apoi folosind FIND și STÂNGA pentru a arunca toate text după marker.

Funcționând din interior spre exterior, SUBSTITUTE este configurat pentru a înlocui a n-a apariție a unui caracter spațial, în care n provine din coloana C, textul provine din coloana B, iar „#” este codat hard.

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

Șirul rezultat este returnat funcției FIND, configurat pentru a căuta „#”.

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

Deoarece „#” este al 12-lea caracter din text, FIND returnează 12. Nu vrem să includem caracterul spațial în sine, așa că scădem 1:

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

STÂNGA returnează rezultatul final din formula „Pisica s-a așezat”.

Notă: caracterul lirei ("#") este arbitrar și poate fi înlocuit cu orice caracter care nu va apărea în text.

Adăugați elipse sau alt caracter

Pentru a adăuga „…” la sfârșitul textului tăiat, utilizați concatenare astfel:

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

Puteți înlocui „…” cu orice doriți.

Articole interesante...