Perkataan terakhir

Masalah mudah, pada pandangan pertama, dengan penyelesaian yang tidak jelas: ekstrak perkataan terakhir daripada baris teks. Nah, atau, dalam kes umum, serpihan terakhir, dipisahkan oleh aksara pembatas tertentu (ruang, koma, dll.) Dalam erti kata lain, adalah perlu untuk melaksanakan carian terbalik (dari akhir ke permulaan) dalam rentetan a aksara yang diberikan dan kemudian ekstrak semua aksara di sebelah kanannya.

Mari kita lihat beberapa cara tradisional untuk dipilih: formula, makro dan melalui Power Query.

Kaedah 1. Formula

Untuk lebih mudah memahami intipati dan mekanik formula, mari kita mulakan sedikit dari jauh. Mula-mula, mari kita tingkatkan bilangan ruang antara perkataan dalam teks sumber kita kepada, sebagai contoh, 20 keping. Anda boleh melakukan ini dengan fungsi ganti. PENGGANTI (GANTIAN) dan fungsi mengulang aksara tertentu N-kali – REPEAT (REPT):

Perkataan terakhir

Sekarang kita memotong 20 aksara dari penghujung teks yang terhasil menggunakan fungsi tersebut HAK (KANAN):

Perkataan terakhir

Semakin panas kan? Ia kekal untuk mengalih keluar ruang tambahan menggunakan fungsi tersebut TRIM (TRIM) dan masalah akan diselesaikan:

Perkataan terakhir

Dalam versi bahasa Inggeris, formula kami akan kelihatan seperti ini:

=TRIM(KANAN(GANTIKAN(A1;» «;REPT(» «;20));20))

Saya harap jelas bahawa pada dasarnya tidak perlu memasukkan tepat 20 ruang - sebarang nombor akan dilakukan, selagi ia lebih daripada panjang perkataan terpanjang dalam teks sumber.

Dan jika teks sumber perlu dibahagikan bukan dengan ruang, tetapi dengan aksara pemisah lain (contohnya, dengan koma), maka formula kami perlu diperbetulkan sedikit:

Perkataan terakhir

Kaedah 2. Fungsi makro

Tugas mengekstrak perkataan atau serpihan terakhir daripada teks juga boleh diselesaikan menggunakan makro, iaitu, menulis fungsi carian terbalik dalam Visual Basic yang akan melakukan apa yang kita perlukan - cari subrentetan yang diberikan dalam rentetan dalam arah yang bertentangan - dari akhir hingga awal.

Tekan pintasan papan kekunci Alt+F11 atau butang Visual Basic tab pemaju (Pembangun)untuk membuka editor makro. Kemudian tambah modul baharu melalui menu Sisipan – Modul dan salin kod berikut di sana:

 Fungsi LastWord(txt Sebagai Rentetan, Pembatas pilihan Sebagai Rentetan = " ", Pilihan n Sebagai Integer = 1) Sebagai Rentetan arFragments = Split(txt, delim) LastWord = arFragments(UBound(arFragments) - n + 1) End Function  

Kini anda boleh menyimpan buku kerja (dalam format yang didayakan makro!) dan menggunakan fungsi yang dicipta dalam sintaks berikut:

=LastWord(txt ; delim ; n)

di mana

  • txt – sel dengan teks sumber
  • persempadanan — aksara pemisah (lalai — ruang)
  • n – apakah perkataan yang harus diekstrak dari hujung (secara lalai – yang pertama dari hujung)

Perkataan terakhir

Dengan sebarang perubahan dalam teks sumber pada masa hadapan, fungsi makro kami akan dikira semula dengan cepat, seperti mana-mana fungsi helaian Excel standard.

Kaedah 3. Power Query

Kuasa Kuasa ialah alat tambah percuma daripada Microsoft untuk mengimport data ke dalam Excel daripada hampir mana-mana sumber dan kemudian menukar data yang dimuat turun ke dalam sebarang bentuk. Kuasa dan kesejukan alat tambah ini sangat hebat sehingga Microsoft telah membina semua cirinya ke dalam Excel 2016 secara lalai. Untuk Excel 2010-2013 Power Query boleh dimuat turun secara percuma dari sini.

Tugas kami untuk memisahkan perkataan atau serpihan terakhir melalui pemisah yang diberikan menggunakan Power Query diselesaikan dengan sangat mudah.

Mula-mula, mari tukar jadual data kita menjadi jadual pintar menggunakan pintasan papan kekunci. Ctrl+T atau perintah Laman Utama – Format sebagai jadual (Laman Utama — Format sebagai Jadual):

Perkataan terakhir

Kemudian kami memuatkan "jadual pintar" yang dibuat ke dalam Power Query menggunakan arahan Daripada jadual/julat (Daripada jadual/julat) tab Tarikh (jika anda mempunyai Excel 2016) atau pada tab Kuasa Kuasa (jika anda mempunyai Excel 2010-2013):

Perkataan terakhir

Dalam tetingkap editor pertanyaan yang terbuka, pada tab Transformasi (Transformasi) memilih pasukan Lajur Pisah – Mengikut Pembatas (Lajur Pisah — Mengikut pembatas) dan kemudian ia kekal untuk menetapkan aksara pemisah dan memilih pilihan Pembatas paling kananuntuk memotong bukan semua perkataan, tetapi hanya yang terakhir:

Perkataan terakhir

Selepas mengklik OK perkataan terakhir akan dipisahkan menjadi lajur baharu. Lajur pertama yang tidak perlu boleh dialih keluar dengan mengklik kanan pengepalanya dan memilih Batalkan (Padam). Anda juga boleh menamakan semula lajur yang tinggal dalam pengepala jadual.

Hasilnya boleh dimuat naik kembali ke helaian menggunakan arahan Laman Utama — Tutup dan Muatkan — Tutup dan Muatkan ke … (Laman Utama — Tutup & Muatkan — Tutup & Muatkan ke…):

Perkataan terakhir

Dan sebagai hasilnya kita mendapat:

Perkataan terakhir

Seperti ini – murah dan ceria, tanpa formula dan makro, hampir tanpa menyentuh papan kekunci 🙂

Jika senarai asal berubah pada masa hadapan, ia cukup untuk mengklik kanan atau menggunakan pintasan papan kekunci Ctrl+Alt+F5 kemas kini permintaan kami.


  • Memisahkan teks melekit ke dalam lajur
  • Menghuraikan dan menghuraikan teks dengan ungkapan biasa
  • Mengekstrak perkataan pertama daripada teks dengan fungsi SUBSTITUTE

Sila tinggalkan balasan anda