Обща формула
=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))