Формула Excel: Обрізати текст до n слів -

Зміст

Загальна формула

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

Резюме

Щоб обрізати текст до певної кількості слів, ви можете використовувати формулу на основі функцій ЗАМІНИ, ЗНАЙТИ і ВЛІВО. У наведеному прикладі формула в xxx має вигляд:

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

Пояснення

Нам потрібен спосіб розділити текст на певний маркер, який відповідає певній кількості слів. Excel не має вбудованої функції для синтаксичного аналізу тексту за словом, тому використовуйте аргумент "Екземпляр" функції SUBSTITUTE для заміни символу "n-го пробілу" знаком фунта (#), а потім використовуйте FIND і LEFT, щоб відкинути всі текст після маркера.

Працюючи зсередини, SUBSTITUTE налаштовано на заміну n-го випадка пробілу, де n походить із стовпця C, текст надходить із стовпця B, а "#" жорстко закодовано.

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

Отриманий рядок повертається до функції FIND, налаштованої на пошук "#".

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

Оскільки "#" - це 12-й символ у тексті, FIND повертає 12. Ми не хочемо включати сам пробіл, тому віднімаємо 1:

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

LEFT повертає кінцевий результат із формули "Кіт сидів".

Примітка: символ фунта ("#") довільний і може бути замінений будь-яким символом, який не відображатиметься в тексті.

Додайте еліпси або інший символ

Щоб додати "…" в кінець обрізаного тексту, використовуйте об'єднання таким чином:

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

Ви можете замінити "…" на все, що вам подобається.

Цікаві статті...