Formuła programu Excel: wyodrębnij słowo zaczynające się od określonego znaku -

Spisie treści

Formuła ogólna

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

Podsumowanie

Aby wyodrębnić słowa zaczynające się od określonego znaku, możesz użyć formuły opartej na sześciu funkcjach: TRIM, LEFT, SUBSTITUTE, MID, LEN i REPT. Takie podejście jest przydatne, jeśli chcesz wyodrębnić takie rzeczy, jak nazwa użytkownika Twittera z komórki zawierającej inny tekst.

W przedstawionym przykładzie formuła w C5 to:

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

Wyjaśnienie

Zaczynając od wewnątrz, funkcja MID służy do wyodrębnienia całego tekstu po „@”:

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

Funkcja ZNAJDŹ zapewnia punkt początkowy, a aby wyodrębnić całkowitą liczbę znaków, po prostu używamy LEN na oryginalnym tekście. Jest to trochę niechlujne, ale pozwala uniknąć obliczania dokładnej liczby znaków do wyodrębnienia. MID nie dba o to, czy ta liczba jest większa niż pozostałe znaki, po prostu wyodrębnia cały tekst następujący po znaku „@”.

Następnie „zalewamy” pozostały tekst spacjami, zastępując dowolną pojedynczą spację 100 spacjami, używając kombinacji SUBSTITUTE i REPT:

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

Wydaje się to szalone, ale logika staje się jasna poniżej.

Następnie, aby wyodrębnić tylko żądane słowo (np. @Word), używamy LEWEGO do wyodrębnienia pierwszych 100 znaków od lewej. W ten sposób otrzymujemy „@ słowo” oraz wiele dodatkowych spacji. Aby zwizualizować, poniższe łączniki reprezentują spacje:

@słowo---------------------

Teraz musimy tylko usunąć wszystkie dodatkowe spacje. W tym celu używamy funkcji TRIM.

Uwaga: 100 to najdłuższe słowo, które spodziewasz się znaleźć, a które zaczyna się od znaku specjalnego. Zwiększ lub zmniejsz w zależności od potrzeb.

Masz lepszy sposób, aby to zrobić? Daj mi znać w komentarzach pod spodem!

Interesujące artykuły...