Rumus Excel: Buang kata terakhir -

Isi kandungan

Formula generik

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

Ringkasan

Untuk mengeluarkan kata terakhir dari rentetan teks, anda boleh menggunakan formula berdasarkan fungsi MID, dengan bantuan SUBSTITUTE, LEN, dan FIND. Dalam contoh yang ditunjukkan, formula dalam sel B5 adalah:

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

Penjelasan

Formula ini menggunakan fungsi MID untuk membuang kata terakhir dari rentetan teks. Cabaran utama adalah mencari tahu di mana perkataan terakhir bermula.

Rumusnya agak berbelit-belit, tetapi langkahnya mudah. Kami mula-mula menghitung berapa banyak ruang yang ada dalam teks menggunakan LEN dan SUBSTITUTE. Seterusnya, kami menggunakan argumen "instance" yang agak kabur dalam fungsi SUBSTITUTE untuk menggantikan ruang terakhir dengan tilde (~). Akhirnya, kami menggunakan FIND untuk mengetahui di mana tilde berada, dan fungsi MID untuk membuang segala-galanya selepas tilde.

Bekerja dari dalam ke luar, kami menggunakan fungsi LEN dan SUBSTITUTE untuk mengira berapa banyak ruang yang muncul di sebelah:

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

Untuk teks dalam B5, ini mengembalikan 6. Halaman ini menerangkan bahagian formula ini dengan lebih terperinci. Ini memberitahu bahawa kita mahu memotong teks pada watak ruang ke-6.

Catatan: jika kata dipisahkan oleh lebih dari satu ruang, anda mesti menormalkan ruang terlebih dahulu dengan fungsi TRIM.

Nombor 6 kemudian dimasukkan ke SUBSTITUT lain sebagai "nombor contoh":

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

Di sini, kita mengganti contoh ruang ke-6 ("") dengan tilde (~). Selepas SUBSTITUTE dijalankan, ia mengembalikan rentetan ini:

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

Catatan: kami menggunakan tilde (~) hanya kerana wataknya jarang berlaku. Anda boleh menggunakan watak yang anda suka, asalkan tidak muncul dalam teks sumber.

Seterusnya, kami menggunakan fungsi FIND untuk mencari tilde:

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

FIND mengembalikan 34, kerana tilde adalah watak ke-34. Kami tolak 1 dari nombor ini, kerana kami tidak mahu memasukkan ruang terakhir dalam hasil akhir. Kita sekarang boleh mempermudah formula untuk:

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

Fungsi MID kemudian mengembalikan watak 1-33:

"It's been seven hours and fifteen"

Dengan pembatas tersuai

Formula yang sama boleh digunakan dengan pembatas yang berbeza. Contohnya, untuk membuang semua teks selepas garis miring terakhir "/", anda boleh menggunakan:

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

Keluarkan kata n terakhir

Anda boleh menyesuaikan formula untuk membuang 2 perkataan terakhir, 3 perkataan terakhir, dll. Bentuk umum adalah:

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

di mana d adalah pembatas, dan n adalah bilangan perkataan yang akan dikeluarkan.

Artikel menarik...