Екцел формула: Издвој реч која почиње са одређеним знаком -

Преглед садржаја

Генеричка формула

=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 представља најдужу реч коју очекујете да започнете са посебним знаком. Повећајте или смањите према својим потребама.

Имате ли бољи начин за то? Обавестите ме у коментарима испод!

Занимљиви Чланци...