Excel vzorec: Extrahujte slovo obsahující konkrétní text -

Obecný vzorec

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

souhrn

Chcete-li extrahovat slovo, které obsahuje konkrétní text, můžete použít vzorec založený na několika funkcích, včetně TRIM, LEFT, SUBSTITUTE, MID, MAX a REPT. Tento vzorec můžete použít k extrahování věcí, jako jsou e-mailové adresy nebo jiné podřetězce s jedinečným ID.

V zobrazeném příkladu je vzorec v C5:

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

Vysvětlení

Shrnutí: tento vzorec „zaplaví“ mezeru mezi slovy v textovém řetězci s velkým počtem mezer, vyhledá a extrahuje dílčí řetězec zájmu a k odstranění nepořádku používá funkci TRIM.

Při práci zevnitř ven je původní text v B5 zaplaven mezerami pomocí SUBSTITUTE:

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

To nahradí každý jednotlivý prostor 99 mezerami.

Poznámka: 99 je jen libovolné číslo, které představuje nejdelší slovo, které potřebujete extrahovat.

Funkce FIND dále vyhledá konkrétní znak (v tomto případě „@“) uvnitř zaplaveného textu:

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

FIND vrátí pozici „@“ v tomto textu, od které se odečte 50. Odečtení 50 efektivně „vrací“ pozici na nějaké místo uprostřed mezer před zájmem podřetězce. V zobrazeném příkladu je vypočtená poloha 366.

Funkce MAX se používá k řešení problému podřetězce, které se v textu objeví jako první. V takovém případě bude pozice záporná a MAX se použije k resetování na 1.

Se zavedenou počáteční pozicí se MID používá k extrakci 99 znaků textu, počínaje 366 z textu v B5, opět zaplaveného mezerou:

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

To extrahuje dílčí řetězec zájmu se spoustou mezerových znaků před a po.

Nakonec se funkce TRIM používá k oříznutí úvodního a koncového prostoru a vrací podřetězec obsahující speciální znak.

Zajímavé články...