Формула на Excel: Извличане на дума, която започва със специфичен знак -

Съдържание

Обща формула

=TRIM(LEFT(SUBSTITUTE(MID(txt,FIND("@",txt),LEN(txt))," ",REPT(" ",100)),100))

Обобщение

За да извлечете думи, които започват с определен символ, можете да използвате формула, базирана на шест функции: TRIM, LEFT, SUBSTITUTE, MID, LEN и REPT. Този подход е полезен, ако трябва да извлечете неща като потребителско име на Twitter от клетка, която съдържа друг текст.

В показания пример формулата в C5 е:

=TRIM(LEFT(SUBSTITUTE(MID(B5,FIND("@",B5),LEN(B5))," ",REPT(" ",100)),100))

Обяснение

Започвайки отвътре навън, функцията MID се използва за извличане на целия текст след "@":

MID(B5,FIND("@",B5),LEN(B5))

Функцията FIND осигурява начална точка и за извличане на общия брой символи просто използваме LEN върху оригиналния текст. Това е малко небрежно, но избягва да се изчислява точния брой символи за извличане. MID не се интересува дали този номер е по-голям от останалите знаци, той просто извлича целия текст след "@".

След това „заливаме“ останалия текст с интервали, като заменяме всяко отделно пространство със 100 интервали, използвайки комбинация от ЗАМЕНИТЕЛ и РЕПТИРАНЕ:

SUBSTITUTE("@word and remaining text"," ",REPT(" ",100))

Това изглежда налудничаво, но логиката става ясна по-долу.

След това, за да извлечем само думата, която искаме (т.е. @word), използваме НАЛЯВО, за да извлечем първите 100 знака отляво. Това ни дава "@word", плюс много допълнителни интервали. За да визуализирате, тиретата по-долу представляват интервали:

@word ---------------------

Сега просто трябва да премахнем всички излишни интервали. За това използваме функцията TRIM.

Забележка: 100 представлява най-дългата дума, която очаквате да намерите, която започва със специалния знак. Увеличете или намалете според вашите нужди.

Имате по-добър начин да направите това? Кажете ми в коментарите по-долу!

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