Формула на Excel: Извличане на последните две думи от клетката -

Съдържание

Обща формула

=MID(A1,FIND("@",SUBSTITUTE(A1," ","@",LEN(A1)-LEN(SUBSTITUTE(A1," ",""))-1))+1,100)

Обобщение

За да извлечете последните две думи от клетка, можете да използвате формула, изградена с няколко функции на Excel, включително MID, FIND, SUBSTITUTE и LEN. В показания пример формулата в C5 е:

=MID(B5,FIND("@",SUBSTITUTE(B5," ","@",LEN(B5)-LEN(SUBSTITUTE(B5," ",""))-1))+1,100)

Обяснение

В основата си тази формула използва функцията MID за извличане на символи, започващи от второто до последното интервал. Функцията MID отнема 3 аргумента: текстът, с който се работи, началната позиция и броят на символите за извличане.

Текстът идва от колона Б и броят на знаците може да бъде произволен голям брой, който ще гарантира, че последните две думи са извлечени. Предизвикателството е да се определи началната позиция, която е точно след второто до последното пространство. Умната работа се извършва предимно с функцията SUBSTITUTE, която има незадължителен аргумент, наречен номер на екземпляр. Тази функция се използва за замяна на последното до последно интервал в текста с символа "@", който след това се намира с функцията FIND.

Работейки отвътре навън, фрагментът по-долу изчислява колко интервали са в общия текст, от които се изважда 1.

LEN(B5)-LEN(SUBSTITUTE(B5," ",""))-1

В показания пример в текста има 5 интервали, така че горният код връща 4. Този номер се подава във външната функция SUBSTITUTE като номер на екземпляр:

SUBSTITUTE(B5," ","@",4)

Това кара SUBSTITUTE да замени четвъртия интервал с "@". Изборът на @ е произволен. Можете да използвате всеки символ, който няма да се появи в оригиналния текст.

След това FIND намира символа "@" в текста:

FIND("@","A stitch in time@saves nine")

Резултатът от FIND е 17, към който се добавя 1, за да се получи 18. Това е началната позиция и влиза във функцията MID като втори аргумент. За опростяване броят на символите за извличане е кодиран твърдо като 100. Този брой е произволен и може да се коригира според ситуацията.

Извличане на последните N думи от клетката

Тази формула може да бъде обобщена, за да се извлекат последните N думи от клетка, като се замени твърдо кодираният 1 в примера с (N-1). Освен това, ако извличате много думи, може да искате да замените твърдо кодирания аргумент в MID, 100, с по-голям брой. За да ви гарантираме, че броят е достатъчно голям, можете просто да използвате функцията LEN, както следва:

=MID(B5,FIND("@",SUBSTITUTE(B5," ","@",LEN(B5)-LEN(SUBSTITUTE(B5," ",""))-(N-1)))+1,LEN(B5))

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