
Генеричка формула
=TRIM(LEFT(SUBSTITUTE(MID(txt,FIND("@",txt),LEN(txt))," ",REPT(" ",100)),100))
Резиме
Да бисте издвојили речи које почињу одређеним знаком, можете користити формулу засновану на шест функција: ТРИМ, ЛЕФТ, СУБСТИТУТЕ, МИД, ЛЕН и РЕПТ. Овај приступ је користан ако требате извући ствари попут корисничког имена за Твиттер из ћелије која садржи други текст.
У приказаном примеру, формула у Ц5 је:
=TRIM(LEFT(SUBSTITUTE(MID(B5,FIND("@",B5),LEN(B5))," ",REPT(" ",100)),100))
Објашњење
Полазећи изнутра, МИД функција се користи за издвајање целог текста после „@“:
MID(B5,FIND("@",B5),LEN(B5))
Функција ФИНД пружа почетну тачку, а за извлачење укупних знакова само користимо ЛЕН на оригиналном тексту. Ово је помало траљаво, али избегава израчунавање тачног броја знакова за издвајање. МИД-а није брига да ли је овај број већи од преосталих знакова, он једноставно издваја сав текст следећи „@“.
Даље, преостали текст „преплавимо“ размацима, замењујући било који појединачни размак са 100 размака користећи комбинацију СУБСТИТУТЕ и РЕПТ:
SUBSTITUTE("@word and remaining text"," ",REPT(" ",100))
Ово делује сулудо, али логика постаје јасна у наставку.
Даље, да бисмо издвојили само реч коју желимо (тј. @Ворд), користимо ЛЕВО за издвајање првих 100 знакова с леве стране. Ово нам доноси „@ворд“, плус много додатних простора. Да бисте визуелизовали, цртице испод представљају размаке:
@ворд ---------------------
Сада само треба да уклонимо све додатне просторе. За то користимо функцију ТРИМ.
Напомена: 100 представља најдужу реч коју очекујете да започнете са посебним знаком. Повећајте или смањите према својим потребама.
Имате ли бољи начин за то? Обавестите ме у коментарима испод!