
Общая формула
=TRIM(MID(SUBSTITUTE(A1," ",REPT(" ",99)),MAX(1,FIND("@",SUBSTITUTE(A1," ",REPT(" ",99)))-50),99))
Резюме
Чтобы извлечь слово, содержащее определенный текст, вы можете использовать формулу, основанную на нескольких функциях, в том числе ОБРЕЗАТЬ, ВЛЕВО, ПОДСТАВИТЬ, СРЕДНЕЕ, МАКСИМАЛЬНОЕ и ПОВТОР. Вы можете использовать эту формулу для извлечения таких вещей, как адреса электронной почты или другие подстроки с уникальным идентификатором.
В показанном примере формула C5 имеет следующий вид:
=TRIM(MID(SUBSTITUTE(B5," ",REPT(" ",99)),MAX(1,FIND("@",SUBSTITUTE(B5," ",REPT(" ",99)))-50),99))
Объяснение
Суть: эта формула «заполняет» пространство между словами в текстовой строке большим количеством пробелов, находит и извлекает интересующую подстроку и использует функцию TRIM для очистки беспорядка.
Исходный текст в B5 заполняется пробелами изнутри с помощью SUBSTITUTE:
SUBSTITUTE(B5," ",REPT(" ",99))
Это заменяет каждый отдельный пробел на 99 пробелов.
Примечание: 99 - это произвольное число, которое представляет самое длинное слово, которое вам нужно извлечь.
Затем функция НАЙТИ находит конкретный символ (в данном случае «@») внутри залитого текста:
FIND("@",SUBSTITUTE(B5," ",REPT(" ",99)))-50
НАЙТИ возвращает позицию символа «@» в этом тексте, из которой вычитается 50. Вычитание 50 эффективно "возвращает" позицию в какое-то место в середине пробелов, предшествующих интересующей подстроке. В показанном примере рассчитанная позиция - 366.
Функция MAX используется для решения проблемы, когда подстрока появляется первой в тексте. В этом случае позиция будет отрицательной, и MAX используется для сброса на 1.
При установленном начальном позиционировании MID используется для извлечения 99 символов текста, начиная с 366, из текста в B5, снова заполненного пробелом:
MID(SUBSTITUTE(B5," ",REPT(" ",99)),366,99)
Это извлекает интересующую подстроку с большим количеством пробелов до и после.
Наконец, функция TRIM используется для обрезки начального и конечного пробелов и возвращает подстроку, содержащую специальный символ.