Formuła programu Excel: wyodrębnij słowo zawierające określony tekst -

Formuła ogólna

=TRIM(MID(SUBSTITUTE(A1," ",REPT(" ",99)),MAX(1,FIND("@",SUBSTITUTE(A1," ",REPT(" ",99)))-50),99))

Podsumowanie

Aby wyodrębnić słowo zawierające określony tekst, możesz użyć formuły opartej na kilku funkcjach, takich jak TRIM, LEFT, SUBSTITUTE, MID, MAX i REPT. Możesz użyć tej formuły, aby wyodrębnić takie rzeczy, jak adresy e-mail lub inne podciągi z unikalnym identyfikatorem.

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

=TRIM(MID(SUBSTITUTE(B5," ",REPT(" ",99)),MAX(1,FIND("@",SUBSTITUTE(B5," ",REPT(" ",99)))-50),99))

Wyjaśnienie

Istota: ta formuła „zalewa” przestrzeń między słowami w ciągu tekstowym dużą liczbą spacji, wyszukuje i wyodrębnia interesujący nas podciąg i używa funkcji TRIM, aby posprzątać bałagan.

Pracując od wewnątrz, oryginalny tekst w B5 jest zalewany spacjami za pomocą polecenia PODSTAW:

SUBSTITUTE(B5," ",REPT(" ",99))

Zastępuje to każdą pojedynczą przestrzeń 99 spacjami.

Uwaga: 99 to po prostu dowolna liczba reprezentująca najdłuższe słowo, które musisz wyodrębnić.

Następnie funkcja ZNAJDŹ lokalizuje określony znak (w tym przypadku „@”) wewnątrz zalanego tekstu:

FIND("@",SUBSTITUTE(B5," ",REPT(" ",99)))-50

ZNAJDŹ zwraca pozycję znaku „@” w tym tekście, od której odejmuje się 50. Odejmowanie 50 skutecznie „cofa” pozycję do miejsca pośrodku przestrzeni poprzedzających podciąg będący przedmiotem zainteresowania. W pokazanym przykładzie obliczona pozycja to 366.

Funkcja MAX służy do rozwiązywania problemu z podciągiem pojawiającym się jako pierwszy w tekście. W takim przypadku pozycja będzie ujemna, a wartość MAX jest używana do resetowania do 1.

Po ustaleniu pozycji początkowej, MID jest używany do wyodrębnienia 99 znaków tekstu, zaczynając od 366 z tekstu w B5, ponownie zalanych spacją:

MID(SUBSTITUTE(B5," ",REPT(" ",99)),366,99)

Wyodrębnia to podciąg, który nas interesuje, zawierający wiele znaków spacji przed i po.

Na koniec funkcja TRIM służy do przycinania spacji wiodącej i końcowej oraz zwraca podciąg zawierający znak specjalny.

Interesujące artykuły...