Vzorec aplikace Excel: Extrahujte slovo, které začíná konkrétním znakem -

Obsah

Obecný vzorec

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

souhrn

Chcete-li extrahovat slova, která začínají konkrétním znakem, můžete použít vzorec založený na šesti funkcích: TRIM, LEFT, SUBSTITUTE, MID, LEN a REPT. Tento přístup je užitečný, pokud potřebujete extrahovat věci, jako je uživatelské jméno Twitteru, z buňky, která obsahuje jiný text.

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

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

Vysvětlení

Funkce MID slouží k extrahování veškerého textu po znaku „@“ od začátku:

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

Funkce FIND poskytuje výchozí bod a pro extrahování celkových znaků stačí použít LEN na původní text. Je to trochu nedbalé, ale vyhnete se tomu, že budete muset vypočítat přesný počet znaků, které chcete extrahovat. MID je jedno, jestli je toto číslo větší než zbývající znaky, jednoduše extrahuje veškerý text následující za „@“.

Dále „zaplavíme“ zbývající text mezerami tím, že nahradíme jakýkoli jednotlivý prostor 100 mezerami pomocí kombinace SUBSTITUTE a REPT:

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

To se zdá šílené, ale logika bude jasná níže.

Dále pro extrahování pouze slova, které chceme (tj. @Word), použijeme LEFT k extrakci prvních 100 znaků zleva. Tím získáme „@word“ a mnoho dalších mezer. Pro vizualizaci níže uvedené spojovníky představují mezery:

@slovo---------------------

Nyní musíme odstranit všechny mezery navíc. K tomu používáme funkci TRIM.

Poznámka: 100 představuje nejdelší slovo, které očekáváte, že začíná zvláštním znakem. Zvětšujte nebo zmenšujte podle svých potřeb.

Máte lepší způsob, jak to udělat? Dejte mi vědět v komentářích níže!

Zajímavé články...