Excel

Získajte priezvisko z mena

Get Last Name From Name

Vzorec programu Excel: Získajte priezvisko z menaGenerický vzorec | _+_ | Zhrnutie

Ak potrebujete extrahovať priezvisko z celého mena, môžete to urobiť pomocou tohto pomerne zložitého vzorca, ktorý používa niekoľko funkcií. V generickej forme vzorca (vyššie) je meno úplné meno, pričom krstné meno oddeľuje medzera od ostatných častí mena.



V tomto prípade aktívna bunka obsahuje tento vzorec:

počet Excel počet zobrazení slova v stĺpci
= RIGHT (name, LEN (name)- FIND ('*', SUBSTITUTE (name,' ','*', LEN (name)- LEN ( SUBSTITUTE (name,' ','')))))
Vysvetlenie

V jadre tento vzorec používa funkciu DOPRAVA na extrahovanie znakov začínajúcich sprava. Ostatné funkcie, ktoré tvoria zložitú časť tohto vzorca, robia jednu vec: vypočítavajú, koľko znakov je potrebné extrahovať.





Na vysokej úrovni vzorec nahradí posledný priestor v názve hviezdičkou „*“ a potom pomocou funkcie FIND určí polohu hviezdičky v názve. Pozícia sa používa na určenie počtu znakov, ktoré sa majú extrahovať DOPRAVOU.

Ako funkcia nahradí iba posledné miesto? Toto je múdra časť.



Pripútajte sa, vysvetlenie je trochu technické.

Kľúčom tohto vzorca je tento bit:

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

Čo robí skutočnú náhradu posledného miesta znakom '*'.

SUBSTITUTE má štvrtý (voliteľný) argument, ktorý určuje, ktorá 'inštancia' nájdeného textu by mala byť nahradená. Ak pre tento argument nie je uvedené nič, nahradia sa všetky inštancie. Ak však, povedzme, zadáte číslo 2, nahradí sa iba druhá inštancia. V úryvku vyššie sa inštancia vypočíta pomocou druhého NÁHRADU:

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

Tu sa dĺžka mena bez medzier odpočíta od skutočnej dĺžky mena. Ak je v názve iba jedna medzera, vytvorí 1. Ak sú teda dve medzery, výsledkom sú 2 atď.

V príklade názvu v B4 sú v názve dve medzery, takže dostaneme:

15 - 13 = 2

A dva sa používajú ako v prípade čísla inštancie:

 
 LEN (B4)- LEN ( SUBSTITUTE (B4,' ',''))

ktorý nahrádza druhý priestor znakom „*“. Názov potom vyzerá takto:

'Susan Ann * Chang'

Potom prevezme funkciu FIND, aby zistila, kde je v názve „*“:

 
 SUBSTITUTE (B4,' ','*',2)

Výsledok je 10 ( * je na 10. pozícii), ktorý sa odpočíta od celkovej dĺžky mena:

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

Pretože názov má 15 znakov, máme:

15-10 = 5

Číslo 5 používa PRÁVO takto:

 
 LEN (B4)-10

Čo má za následok „Chang“

ako invertovať maticu v programe Excel

Ako vidíte, je veľmi veľa práce s výpočtom tejto jednoduchej 5!

Manipulácia s nekonzistentnými priestormi

Extra medzery spôsobia problémy s týmto vzorcom. Jedným z riešení je použiť Funkcia TRIM najskôr vyčistite veci a potom použite vzorec na analýzu.

Autor Dave Bruns


^