
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.