Rumus Excel: Ekstrak perkataan yang mengandungi teks tertentu -

Formula generik

=TRIM(MID(SUBSTITUTE(A1," ",REPT(" ",99)),MAX(1,FIND("@",SUBSTITUTE(A1," ",REPT(" ",99)))-50),99))

Ringkasan

Untuk mengekstrak kata yang mengandungi teks tertentu, anda dapat menggunakan formula berdasarkan beberapa fungsi, termasuk TRIM, LEFT, SUBSTITUTE, MID, MAX, dan REPT. Anda boleh menggunakan formula ini untuk mengekstrak perkara seperti alamat e-mel, atau substring lain dengan id unik.

Dalam contoh yang ditunjukkan, formula dalam C5 adalah:

=TRIM(MID(SUBSTITUTE(B5," ",REPT(" ",99)),MAX(1,FIND("@",SUBSTITUTE(B5," ",REPT(" ",99)))-50),99))

Penjelasan

Inti: formula ini "membanjiri" ruang antara kata dalam rentetan teks dengan sebilangan besar ruang, mencari dan mengekstrak substring yang menarik, dan menggunakan fungsi TRIM untuk membersihkan kekacauan.

Bekerja dari dalam ke luar, teks asli di B5 dibanjiri ruang menggunakan SUBSTITUT:

SUBSTITUTE(B5," ",REPT(" ",99))

Ini menggantikan setiap ruang tunggal dengan 99 ruang.

Catatan: 99 hanyalah nombor sewenang-wenang yang mewakili perkataan terpanjang yang perlu anda ekstrak.

Seterusnya, fungsi FIND mencari watak tertentu (dalam kes ini, "@") di dalam teks yang dibanjiri:

FIND("@",SUBSTITUTE(B5," ",REPT(" ",99)))-50

FIND mengembalikan kedudukan "@" dalam teks ini, dari mana 50 ditolak. Menolak 50 dengan berkesan "berjalan ke belakang" kedudukan ke suatu tempat di tengah-tengah ruang sebelum substring menarik. Dalam contoh yang ditunjukkan, kedudukan yang dikira adalah 366.

Fungsi MAX digunakan untuk menangani masalah substring yang muncul pertama kali dalam teks. Dalam keadaan itu, kedudukannya akan negatif, dan MAX digunakan untuk menetapkan semula ke 1.

Dengan penentuan awal, MID digunakan untuk mengekstrak 99 aksara teks, mulai dari 366 dari teks di B5, sekali lagi dibanjiri ruang:

MID(SUBSTITUTE(B5," ",REPT(" ",99)),366,99)

Ini mengekstrak substring minat, dengan banyak watak ruang sebelum dan sesudahnya.

Akhirnya, fungsi TRIM digunakan untuk memangkas ruang utama dan belakang, dan mengembalikan substring yang mengandungi watak khas.

Artikel menarik...