
Če potrebujete priimek iz polnega imena, lahko to storite s to precej zapleteno formulo, ki uporablja več funkcij. V splošni obliki formule (zgoraj) je ime polno ime, s presledkom, ki ločuje ime od drugih delov imena.
V primeru aktivna celica vsebuje to formulo:
excel najdi položaj znaka v nizu z desne
= RIGHT (name, LEN (name)- FIND ('*', SUBSTITUTE (name,' ','*', LEN (name)- LEN ( SUBSTITUTE (name,' ','')))))Pojasnilo
V bistvu ta formula uporablja funkcijo DESNO za ekstrahiranje znakov, ki se začnejo od desne. Druge funkcije, ki sestavljajo zapleten del te formule, naredijo samo eno: izračunajo, koliko znakov je treba izvleči.
Na visoki ravni formula nadomesti zadnji presledek v imenu z zvezdico '*' in nato z FIND določi položaj zvezdice v imenu. Položaj se uporablja za določitev, koliko znakov je treba izvleči s tipko DESNO.
Kako funkcija nadomesti samo zadnji presledek? To je pameten del.
Zapenjajte se, razlaga je nekoliko tehnična.
Njihov ključ do te formule je naslednji:
= RIGHT (B4, LEN (B4)- FIND ('*', SUBSTITUTE (B4,' ','*', LEN (B4)- LEN ( SUBSTITUTE (B4,' ','')))))
Kar pomeni dejansko zamenjavo zadnjega presledka s '*'.
SUBSTITUTE ima četrti (izbirni) argument, ki določa, kateri 'primerek' najdenega besedila je treba zamenjati. Če za ta argument ni na voljo nič, se zamenjajo vsi primerki. Če pa je na voljo številka 2, se zamenja le druga instanca. V zgornjem delčku se primerek izračuna z uporabo drugega SUBSTITUTE:
SUBSTITUTE (B4,' ','*', LEN (B4)- LEN ( SUBSTITUTE (B4,' ','')))
Tu se dolžina imena brez presledkov odšteje od dejanske dolžine imena. Če je v imenu samo en presledek, se prikaže 1. Če sta dva presledka, je rezultat 2 itd.
V primeru imena v B4 sta v imenu dva presledka, zato dobimo:
15 - 13 = 2
In dva se uporabljata kot v številki primerka:
LEN (B4)- LEN ( SUBSTITUTE (B4,' ',''))
ki nadomesti drugi presledek z '*'. Ime je potem videti tako:
'Susan Ann * Chang'
Funkcija FIND nato prevzame, da ugotovi, kje je '*' v imenu:
SUBSTITUTE (B4,' ','*',2)
Rezultat je 10 ( * je na 10. mestu), ki se odšteje od celotne dolžine imena:
FIND ('*', 'Susan Ann*Chang')
Ker je ime 15 znakov, imamo:
15-10 = 5
Številko 5 uporablja RIGHT tako:
LEN (B4)-10
Rezultat tega je 'Chang'
ugnezdeni stavki if v Excelu 2010
Kot vidite, je za izračun teh preprostih 5 zgoraj veliko dela!
Ravnanje z neskladnimi prostori
Dodatni presledki bodo povzročili težave s to formulo. Ena od rešitev je uporaba TRIM funkcija najprej počistite stvari, nato uporabite formulo za razčlenjevanje.
Avtor Dave Bruns