Екцел формула: Преузмите презиме од имена -

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

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

=RIGHT(name,LEN(name)-FIND("*",SUBSTITUTE(name," ","*",LEN(name)-LEN(SUBSTITUTE(name," ","")))))

Резиме

Ако вам је потребно извући презиме из пуног имена, то можете учинити помоћу ове прилично сложене формуле која користи неколико функција. У генеричком облику формуле (горе), име је пуно име, са размаком који раздваја име од осталих делова имена.

У примеру, активна ћелија садржи ову формулу:

=RIGHT(B4,LEN(B4)-FIND("*",SUBSTITUTE(B4," ","*",LEN(B4)-LEN(SUBSTITUTE(B4," ","")))))

Објашњење

У основи, ова формула користи функцију ДЕСНО за издвајање знакова почев од десне стране. Остале функције које чине сложени део ове формуле чине само једну ствар: израчунавају колико знакова треба издвојити.

На високом нивоу, формула замењује последњи размак у имену звездицом "*", а затим користи ФИНД да би одредила положај звездице у имену. Позиција се користи за израчунавање колико знакова треба извући ДЕСНО.

Како функција замењује само последњи размак? Ово је паметан део.

Закопчајте се, објашњење постаје помало техничко.

Они су кључни за ову формулу:

SUBSTITUTE(B4," ","*",LEN(B4)-LEN(SUBSTITUTE(B4," ","")))

Што чини стварну замену последњег размака са „*“.

СУБСТИТУТЕ има четврти (опционални) аргумент који одређује коју „инстанцу“ текста проналаска треба заменити. Ако се за овај аргумент ништа не наводи, све инстанце се замењују. Међутим, ако се, рецимо, наведе број 2, замењује се само друга инстанца. У горњем исечку, примерак се израчунава помоћу другог ЗАМЕНА:

LEN(B4)-LEN(SUBSTITUTE(B4," ",""))

Овде се дужина имена без размака одузима од стварне дужине имена. Ако је у називу само један размак, он даје 1. Ако постоје два размака, резултат је 2 и тако даље.

У примеру примера у Б4, у имену су два размака, па добијамо:

15 - 13 = 2

А два се користи као у броју инстанце:

SUBSTITUTE(B4," ","*",2)

који други размак замењује са „*“. Име тада изгледа овако:

"Сусан Анн * Цханг"

Затим функција ФИНД преузима да би открила где је „*“ у имену:

FIND("*", "Susan Ann*Chang")

Резултат је 10 (* је на 10. месту) што се одузима од укупне дужине имена:

LEN(B4)-10

С обзиром да је име 15 знакова, имамо:

15-10 = 5

ПРАВО користи број 5 тако:

=RIGHT(B4,5)

Што резултира „Цханг-ом“

Као што видите, горе је много посла да бисте израчунали тако једноставних 5!

Руковање недоследним размацима

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

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