Exceli valem: perekonnanime hankimine nimest -

Lang L: none (table-of-contents)

Üldine valem

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

Kokkuvõte

Kui teil on vaja perekonnanime täisnimest välja tõmmata, saate seda teha selle üsna keeruka valemiga, mis kasutab mitut funktsiooni. Valemi üldises vormis (ülal) on nimi täisnimi, tühikuga, mis eraldab eesnime nime muudest osadest.

Näites sisaldab aktiivne lahter järgmist valemit:

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

Selgitus

Põhimõtteliselt kasutab see valem parempoolsete tähemärkide eraldamiseks funktsiooni PAREM. Ülejäänud funktsioonid, mis moodustavad selle valemi keeruka osa, teevad lihtsalt ühte asja: nad arvutavad, kui palju märke tuleb välja tõmmata.

Kõrgel tasemel asendab valem nime viimase tühiku tärniga "*" ja seejärel kasutab FIND tähe tähe asukoha määramiseks nimes. Positsiooni kasutatakse selleks, et välja selgitada, mitu tähemärki RIGHT'iga eraldada.

Kuidas funktsioon asendab ainult viimast tühikut? See on nutikas osa.

Lukk üles, selgitus läheb natuke tehniliseks.

Selle valemi võtmeks on see natuke:

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

Mis teeb viimase tühiku tegeliku asendamise tähega "*".

SUBSTITUTE'il on neljas (valikuline) argument, mis määrab, milline leiduteksti "eksemplar" tuleks asendada. Kui selle argumendi jaoks pole midagi esitatud, asendatakse kõik eksemplarid. Kui aga näiteks number 2 on tarnitud, asendatakse ainult teine ​​eksemplar. Ülaltoodud koodilõigus arvutatakse eksemplar teise asenduse abil:

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

Siin lahutatakse nime pikkusest ilma tühikuteta nime pikkus. Kui nimes on ainult üks tühik, saadakse see 1. Kui on kaks tühikut, on tulemuseks 2 jne.

B4 näite nimes on nimes kaks tühikut, nii et saame:

15 - 13 = 2

Ja kahte kasutatakse nagu eksemplari numbrit:

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

mis asendab teise tühiku tähega "*". Seejärel näeb nimi välja selline:

"Susan Ann * Chang"

Funktsioon FIND võtab seejärel üle, et välja selgitada, kus nimes on täht "*":

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

Tulemuseks on 10 (* on 10. positsioonil), mis lahutatakse nime kogupikkusest:

LEN(B4)-10

Kuna nimi on 15 tähemärki, on meil:

15-10 = 5

Numbrit 5 kasutab RIGHT nii:

=RIGHT(B4,5)

Mille tulemuseks on "Chang"

Nagu näete, on selle lihtsa 5 arvutamiseks ülaltoodud töö!

Vastuoluliste ruumide käitlemine

Lisavalikud tekitavad selle valemiga probleeme. Üks lahendus on kõigepealt TRIM-i kasutamine asjade koristamiseks, seejärel sõelumisvalemi kasutamine.

Huvitavad Artiklid...