
Загальна формула
=TRIM(MID(SUBSTITUTE(A1," ",REPT(" ",99)),MAX(1,FIND("@",SUBSTITUTE(A1," ",REPT(" ",99)))-50),99))
Резюме
Щоб витягти слово, що містить конкретний текст, ви можете використовувати формулу, засновану на декількох функціях, включаючи TRIM, LEFT, SUBSTITUTE, MID, MAX та REPT. Ви можете використовувати цю формулу для вилучення таких речей, як адреси електронної пошти або інші підрядки з унікальним ідентифікатором.
У наведеному прикладі формула в С5 має вигляд:
=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 знаходить конкретний символ (у цьому випадку "@") всередині залитого тексту:
FIND("@",SUBSTITUTE(B5," ",REPT(" ",99)))-50
FIND повертає позицію "@" у цьому тексті, з якої віднімається 50. Віднімання 50 ефективно "повертає" позицію кудись посеред пробілів, що передують зацікавленій підрядку. У наведеному прикладі розрахована позиція становить 366.
Функція MAX використовується для вирішення проблеми підрядка, що з’являється першим у тексті. У цьому випадку позиція буде від’ємною, і MAX використовується для скидання до 1.
При встановленому початковому позиціонуванні MID використовується для вилучення 99 символів тексту, починаючи з 366 з тексту в B5, знову заповненого простором:
MID(SUBSTITUTE(B5," ",REPT(" ",99)),366,99)
Це витягує підрядок, що цікавить, з великою кількістю пробілів до і після.
Нарешті, функція TRIM використовується для обрізки пробілу в кінці та в кінці та повертає підрядок, що містить спеціальний символ.