Формула на Excel: Подрязване на текста на n думи -

Съдържание

Обща формула

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

Обобщение

За да отрежете текста до определен брой думи, можете да използвате формула, базирана на функциите ЗАМЕСТИТЕЛ, НАМЕРИ и НАЛЯВО. В показания пример формулата в xxx е:

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

Обяснение

Нуждаем се от начин за разделяне на текст на определен маркер, който съответства на определен брой думи. Excel няма вградена функция за синтактичен анализ на текст по дума, така че използвайте аргумента "instance" на функцията 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(B5,FIND("#",SUBSTITUTE(B5," ","#",C5))-1)&"… "

Можете да замените "…" с всичко, което ви харесва.

Интересни статии...