
Обща формула
=TRIM(MID(SUBSTITUTE(A1," ",REPT(" ",99)),MAX(1,FIND("@",SUBSTITUTE(A1," ",REPT(" ",99)))-50),99))
Обобщение
За да извлечете дума, която съдържа специфичен текст, можете да използвате формула, базирана на няколко функции, включително TRIM, LEFT, SUBSTITUTE, MID, MAX и REPT. Можете да използвате тази формула за извличане на неща като имейл адреси или други поднизове с уникален идентификатор.
В показания пример формулата в C5 е:
=TRIM(MID(SUBSTITUTE(B5," ",REPT(" ",99)),MAX(1,FIND("@",SUBSTITUTE(B5," ",REPT(" ",99)))-50),99))
Обяснение
Същността: тази формула „залива“ пространството между думите в текстов низ с голям брой интервали, намира и извлича интересуващия нисък и използва функцията TRIM за почистване на бъркотията.
Работейки отвътре навън, оригиналният текст в B5 е залят с интервали, като се използва ЗАМЕСТИТЕЛ:
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 се използва за изрязване на водещо и последващо пространство и връща подниза, съдържащ специалния символ.