Excel formula: iegūstiet uzvārdu no vārda -

Satura rādītājs

Vispārēja formula

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

Kopsavilkums

Ja jums ir jāizņem uzvārds no pilna vārda, to varat izdarīt, izmantojot šo diezgan sarežģīto formulu, kurā tiek izmantotas vairākas funkcijas. Formulas (iepriekš) vispārīgajā formā nosaukums ir pilns vārds, ar atstarpi, kas atdala vārdu no citām nosaukuma daļām.

Piemērā aktīvajā šūnā ir šāda formula:

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

Paskaidrojums

Būtībā šī formula izmanto funkciju RIGHT, lai izvilktu rakstzīmes, sākot no labās puses. Pārējās funkcijas, kas veido šīs formulas sarežģīto daļu, veic tikai vienu lietu: tās aprēķina, cik rakstzīmju jāizņem.

Augstā līmenī formula aizstāj nosaukuma pēdējo atstarpi ar zvaigznīti "*" un pēc tam izmanto FIND, lai noteiktu zvaigznītes pozīciju nosaukumā. Pozīciju izmanto, lai noskaidrotu, cik rakstzīmju iegūt ar RIGHT.

Kā funkcija aizstāj tikai pēdējo atstarpi? Šī ir gudrā daļa.

Piesprādzējies, skaidrojums kļūst mazliet tehnisks.

Viņi ir šīs formulas galvenais:

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

Kas faktiski aizstāj pēdējo atstarpi ar "*".

SUBSTITUTE ir ceturtais (neobligāts) arguments, kas norāda, kurš meklēšanas teksta "gadījums" ir jāaizstāj. Ja šim argumentam nekas nav norādīts, visi gadījumi tiek aizstāti. Tomēr, ja, piemēram, tiek piegādāts skaitlis 2, tiek aizstāta tikai otrā instance. Iepriekšējā fragmentā eksemplārs tiek aprēķināts, izmantojot otro SUBSTITUTE:

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

Šeit vārda garums bez atstarpēm tiek atņemts no vārda faktiskā garuma. Ja nosaukumā ir tikai viena atstarpe, tas rada 1. Ja ir divas atstarpes, rezultāts ir 2 utt.

B4 piemēra nosaukumā nosaukumā ir divas atstarpes, tāpēc mēs iegūstam:

15 - 13 = 2

Un divi tiek izmantoti tāpat kā instances numurs:

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

kas aizstāj otro atstarpi ar "*". Tad nosaukums izskatās šādi:

"Susan Ann * Chang"

Pēc tam funkcija FIND pārņem, lai noskaidrotu, kur nosaukumā atrodas "*":

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

Rezultāts ir 10 (* ir 10. pozīcijā), kas tiek atņemts no nosaukuma kopējā garuma:

LEN(B4)-10

Tā kā nosaukums ir 15 rakstzīmes, mums ir:

15-10 = 5

Numuru 5 RIGHT izmanto šādi:

=RIGHT(B4,5)

Rezultāts ir "Chang"

Kā redzat, tas ir daudz darba, lai aprēķinātu šo vienkāršo 5!

Darbs ar nekonsekventām telpām

Papildu atstarpes radīs problēmas ar šo formulu. Viens risinājums ir vispirms izmantot TRIM funkciju, lai sakoptu lietas, pēc tam izmantojiet parsēšanas formulu.

Interesanti raksti...