![](https://cdn.wiki-base.com/6446679/excel_formula_extract_word_that_begins_with_specific_character__2.png.webp)
Generička formula
=TRIM(LEFT(SUBSTITUTE(MID(txt,FIND("@",txt),LEN(txt))," ",REPT(" ",100)),100))
Sažetak
Da biste izdvojili riječi koje počinju određenim znakom, možete upotrijebiti formulu koja se temelji na šest funkcija: TRIM, LEFT, SUBSTITUTE, MID, LEN i REPT. Ovaj je pristup koristan ako trebate izdvojiti stvari poput korisničkog imena za Twitter iz ćelije koja sadrži drugi tekst.
U prikazanom primjeru formula u C5 je:
=TRIM(LEFT(SUBSTITUTE(MID(B5,FIND("@",B5),LEN(B5))," ",REPT(" ",100)),100))
Obrazloženje
Polazeći iznutra prema van, funkcija MID koristi se za izdvajanje cijelog teksta nakon "@":
MID(B5,FIND("@",B5),LEN(B5))
Funkcija FIND pruža početnu točku, a za izvlačenje ukupnih znakova samo koristimo LEN na izvornom tekstu. Ovo je pomalo traljavo, ali izbjegava izračunavanje točnog broja znakova za izdvajanje. MID-a nije briga je li ovaj broj veći od preostalih znakova, on jednostavno izdvaja sav tekst slijedeći "@".
Dalje, preostali tekst "preplavimo" razmacima, zamjenjujući bilo koji pojedini razmak sa 100 razmaka kombinacijom SUBSTITUTE i REPT:
SUBSTITUTE("@word and remaining text"," ",REPT(" ",100))
To se čini suludo, ali logika postaje jasna u nastavku.
Dalje, da bismo izdvojili samo željenu riječ (tj. @Word), koristimo LIJEVO za izdvajanje prvih 100 znakova slijeva. To nam daje "@word", kao i mnogo dodatnih prostora. Da biste vizualizirali, crtice u nastavku predstavljaju razmake:
@riječ---------------------
Sada samo trebamo ukloniti sve dodatne prostore. Za to koristimo funkciju TRIM.
Napomena: 100 predstavlja najdužu riječ koju očekujete da započne s posebnim znakom. Povećajte ili smanjite prema svojim potrebama.
Imate li bolji način za to? Javite mi u komentarima ispod!