Excel formula: noņemt pēdējo vārdu -

Satura rādītājs

Vispārēja formula

=MID(A1,1,FIND("~",SUBSTITUTE(A1," ","~",LEN(A1)-LEN(SUBSTITUTE(A1," ",""))))-1)

Kopsavilkums

Lai noņemtu pēdējo vārdu no teksta virknes, varat izmantot formulu, kuras pamatā ir funkcija MID, ar palīdzību no SUBSTITUTE, LEN un FIND. Parādītajā piemērā formula B5 šūnā ir:

=MID(B5,1,FIND("~",SUBSTITUTE(B5," ","~",LEN(B5)-LEN(SUBSTITUTE(B5," ",""))))-1)

Paskaidrojums

Šī formula izmanto funkciju MID, lai noņemtu pēdējo vārdu no teksta virknes. Galvenais izaicinājums ir noskaidrot, kur sākas pēdējais vārds.

Formula ir nedaudz samocīta, taču darbības ir vienkāršas. Vispirms mēs saskaitām, cik daudz atstarpju tekstā ir, izmantojot LEN un SUBSTITUTE. Pēc tam mēs izmantojam nedaudz neskaidru argumentu "instance" funkcijā SUBSTITUTE, lai aizstātu pēdējo atstarpi ar tildi (~). Visbeidzot, mēs izmantojam FIND, lai noskaidrotu, kur atrodas tilde, un MID funkciju, lai izmestu visu pēc tildes.

Strādājot no iekšpuses uz āru, mēs izmantojam funkcijas LEN un SUBSTITUTE, lai saskaitītu, cik atstarpes parādās nākamajās:

LEN(B5)-LEN(SUBSTITUTE(B5," ","")) // returns 6

Tekstā B5 tas atgriež 6. Šī lapa sīkāk izskaidro šo formulas daļu. Tas mums norāda, ka mēs vēlamies samazināt tekstu ar 6. atstarpes rakstzīmi.

Piezīme: ja vārdus atdala vairāk nekā viena atstarpe, vispirms ar TRIM funkciju vēlaties normalizēt atstarpes.

Pēc tam skaitlis 6 tiek pievienots citam SUBSTITUTE kā "instances numurs":

SUBSTITUTE(B5," ","~",6) // insert tilde

Šeit mēs aizstājam atstarpes ("") 6. gadījumu ar tildi (~). Pēc SUBSTITUTE palaišanas tā atgriež šo virkni:

"It's been seven hours and fifteen~days"

Piezīme: mēs izmantojam tildi (~) tikai tāpēc, ka tā ir reti sastopama rakstzīme. Var izmantot jebkuru rakstzīmi, kas jums patīk, ja vien tā neparādās avota tekstā.

Pēc tam mēs izmantojam funkciju FIND, lai atrastu tildi:

FIND("~","It's been seven hours and fifteen~days")-1

FIND atgriež 34, jo tilde ir 34. raksturs. No šī skaitļa mēs atņemam 1, jo mēs nevēlamies gala rezultātā iekļaut pēdējo vietu. Tagad mēs varam vienkāršot formulu:

=MID(B5,1,33) // extract final text

Tad funkcija MID atgriež 1-33 rakstzīmes:

"It's been seven hours and fifteen"

Ar pielāgotu norobežotāju

To pašu formulu var izmantot ar citu atdalītāju. Piemēram, lai noņemtu visu tekstu pēc pēdējās slīpsvītras "/", varat izmantot:

=MID(A1,1,FIND("~",SUBSTITUTE(A1,"/","~",LEN(A1)-LEN(SUBSTITUTE(A1,"/",""))))-1)

Noņemiet pēdējos n vārdu

Formulu var pielāgot, lai noņemtu pēdējos 2 vārdus, pēdējos 3 vārdus utt. Vispārīgā forma ir šāda:

=MID(A1,1,FIND("~",SUBSTITUTE(A1,d,"~",LEN(A1)-LEN(SUBSTITUTE(A1,d,""))-(n-1)))-1)

kur d ir atdalītājs un n ir noņemamo vārdu skaits.

Interesanti raksti...