Формула на Excel: Вземете последната дума -

Обща формула

=TRIM(RIGHT(SUBSTITUTE(text," ",REPT(" ",100)),100))

Обобщение

За да получите последната дума от текстов низ, можете да използвате формула, базирана на функциите TRIM, SUBSTITUTE, RIGHT и REPT. В показания пример формулата в C6 е:

=TRIM(RIGHT(SUBSTITUTE(B6," ",REPT(" ",100)),100))

Което връща думата "време".

Обяснение

Тази формула е интересен пример за подход на „груба сила“, който се възползва от факта, че TRIM ще премахне произволен брой водещи интервали.

Работейки отвътре навън, използваме функцията SUBSTITUTE, за да намерим всички интервали в текста и да заменим всяко пространство със 100 интервала:

SUBSTITUTE(B6," ",REPT(" ",100))

Така например, с текстовия низ "едно две три" резултатът ще изглежда така:

one----------two----------three

С тирета, представляващи пространства за четливост. Имайте предвид, че между всяка дума ще има 100 интервала.

След това функцията НАДЯСНО извлича 100 знака, започвайки отдясно. Резултатът ще изглежда така:

-------three

И накрая, функцията TRIM премахва всички водещи интервали и връща последната дума.

Забележка: Използваме 100 произволно, защото това трябва да е достатъчно голямо число за обработка на много дълги думи. Ако имате някаква странна ситуация със супер дълги думи, увеличете това число при необходимост.

Обработка на несъответстващо разстояние

Ако текстът, с който работите, има несъответстващи интервали (т.е. допълнителни интервали между думи, допълнителни водещи или последващи интервали и т.н.) Тази формула няма да работи правилно. За да се справите с тази ситуация, добавете допълнителна функция TRIM вътре в заместващата функция по следния начин:

=TRIM(RIGHT(SUBSTITUTE(TRIM(B6)," ",REPT(" ",100)),100))

Това ще нормализира всички интервали преди да се стартира основната логика.

Добри връзки

Хубаво обяснение на MrExcel.com от T. Valko (Biff)

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