Екцел формула: Уклоните последњу реч -

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

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

=MID(A1,1,FIND("~",SUBSTITUTE(A1," ","~",LEN(A1)-LEN(SUBSTITUTE(A1," ",""))))-1)

Резиме

Да бисте уклонили последњу реч из текстуалног низа, можете да користите формулу засновану на функцији МИД, уз помоћ СУБСТИТУТЕ, ЛЕН и ФИНД. У приказаном примеру, формула у ћелији Б5 је:

=MID(B5,1,FIND("~",SUBSTITUTE(B5," ","~",LEN(B5)-LEN(SUBSTITUTE(B5," ",""))))-1)

Објашњење

Ова формула користи функцију МИД за уклањање последње речи из текстуалног низа. Главни изазов је схватити где почиње последња реч.

Формула је помало замршена, али кораци су једноставни. Прво рачунамо колико размака постоји у тексту помоћу ЛЕН и СУБСТИТУТЕ. Даље користимо помало нејасан аргумент „инстанце“ у функцији СУБСТИТУТЕ да бисмо последњи размак заменили тилдом (~). Коначно, користимо ФИНД да бисмо схватили где је тилда и МИД функцију да одбацимо све после тилде.

Радећи изнутра ка споља, користимо функције ЛЕН и СУБСТИТУТЕ да бисмо бројали колико се простора појављује у следећем:

LEN(B5)-LEN(SUBSTITUTE(B5," ","")) // returns 6

За текст у Б5, ово даје 6. Ова страница детаљније објашњава овај део формуле. То нам говори да желимо да пресечемо текст на 6. размак.

Напомена: ако су речи одвојене од више размака, прво ћете желети нормализовати размаке функцијом ТРИМ.

Број 6 се затим укључује у другу ЗАМЕНУ као „број инстанце“:

SUBSTITUTE(B5," ","~",6) // insert tilde

Овде ћемо заменити 6. инстанцу размака ("") са тилдом (~). Након покретања СУБСТИТУТЕ, враћа овај низ:

"It's been seven hours and fifteen~days"

Напомена: користимо тилду (~) само зато што је реч о ретком знаку. Можете користити било који знак који вам се свиђа, све док се не појављује у изворном тексту.

Даље користимо функцију ФИНД да лоцирамо тилду:

FIND("~","It's been seven hours and fifteen~days")-1

ФИНД враћа 34, јер је тилда 34. знак. Од овог броја одузимамо 1 јер не желимо да у крајњи резултат уврстимо последњи размак. Сада формулу можемо поједноставити на:

=MID(B5,1,33) // extract final text

Функција МИД затим враћа знакове 1-33:

"It's been seven hours and fifteen"

Са прилагођеним граничником

Иста формула се може користити са различитим граничником. На пример, да бисте уклонили сав текст после последње косе црте „/“, можете да користите:

=MID(A1,1,FIND("~",SUBSTITUTE(A1,"/","~",LEN(A1)-LEN(SUBSTITUTE(A1,"/",""))))-1)

Уклоните последњих н речи

Формулу можете прилагодити тако да уклоните последње 2 речи, последње 3 речи итд. Општи облик је:

=MID(A1,1,FIND("~",SUBSTITUTE(A1,d,"~",LEN(A1)-LEN(SUBSTITUTE(A1,d,""))-(n-1)))-1)

где је д граничник, а н број речи које треба уклонити.

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