Excel vzorec: Extrahujte slovo, ktoré začína konkrétnym znakom -

Obsah

Všeobecný vzorec

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

Zhrnutie

Ak chcete extrahovať slová, ktoré začínajú konkrétnym znakom, môžete použiť vzorec založený na šiestich funkciách: TRIM, LEFT, SUBSTITUTE, MID, LEN a REPT. Tento prístup je užitočný, ak potrebujete extrahovať napríklad meno používateľa služby Twitter z bunky, ktorá obsahuje ďalší text.

V zobrazenom príklade je vzorec v C5:

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

Vysvetlenie

Funkcia MID sa začína zvnútra a používa sa na extrahovanie všetkého textu za znakom „@“:

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

Funkcia FIND poskytuje východiskový bod a na extrahovanie celkových znakov stačí použiť LEN v pôvodnom texte. Je to trochu nedbalo, ale vyhnete sa tomu, že budete musieť počítať presný počet znakov, ktoré chcete extrahovať. MID je jedno, či je toto číslo väčšie ako zvyšné znaky, iba extrahuje všetok text nasledujúci za „@“.

Ďalej „zaplavíme“ zostávajúci text znakmi medzery nahradením ľubovoľného jediného medzery 100 medzerami pomocou kombinácie SUBSTITUTE a REPT:

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

Zdá sa to šialené, ale logika bude jasná nižšie.

Ďalej, aby sme extrahovali iba požadované slovo (tj. @Word), pomocou ľavého klávesu extrahujeme prvých 100 znakov zľava. Získame tak „@word“ a mnoho ďalších medzier. Na vizualizáciu predstavujú pomlčky nižšie medzery:

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

Teraz musíme odstrániť všetky medzery navyše. Na to používame funkciu TRIM.

Poznámka: 100 predstavuje najdlhšie slovo, od ktorého očakávate, že začína špeciálnym znakom. Zvyšujte alebo zmenšujte podľa svojich potrieb.

Máte na to lepší spôsob? Dajte mi vedieť v komentároch nižšie!

Zaujímavé články...