
Formula generik
=TEXTJOIN("",1,IF(ISNUMBER(MATCH(CODE(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1)),ROW(INDIRECT("65:90")),0)),MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),""))
Ringkasan
Untuk menyingkat teks yang mengandungi huruf besar, anda boleh mencuba formula susunan ini berdasarkan fungsi TEXTJOIN, fungsi baru yang tersedia di Office 365 dan Excel 2019. Anda boleh menggunakan pendekatan ini untuk membuat inisial dari nama, atau membuat akronim. Hanya huruf besar yang dapat bertahan dalam formula ini, jadi teks sumbernya mesti termasuk kata-kata besar. Anda boleh menggunakan fungsi PROPER untuk menggunakan huruf besar jika diperlukan.
Dalam contoh yang ditunjukkan, formula dalam C5 adalah:
=TEXTJOIN("",1,IF(ISNUMBER(MATCH(CODE(MID(B5,ROW(INDIRECT("1:"&LEN(B5))),1)),ROW(INDIRECT("65:90")),0)),MID(B5,ROW(INDIRECT("1:"&LEN(B5))),1),""))
Penjelasan
Berfungsi dari dalam ke luar, fungsi MID digunakan untuk memasukkan rentetan ke dalam array huruf individu:
MID(B5,ROW(INDIRECT("1:"&LEN(B5))),1)
Di bahagian rumus ini, MID, ROW, INDIRECT, dan LEN digunakan untuk menukar rentetan ke array atau huruf, seperti yang dijelaskan di sini.
MID mengembalikan susunan semua watak dalam teks.
("W"; "i"; "l"; "l"; "i"; "a"; "m"; ""; "S"; "h"; "a"; "k"; "e ";" s ";" p ";" e ";" a ";" r ";" e ")
Array ini dimasukkan ke dalam fungsi CODE, yang menghasilkan susunan kod ascii numerik, satu untuk setiap huruf.
Secara berasingan, ROW dan INDIRECT digunakan untuk membuat susunan angka yang lain:
ROW(INDIRECT("65:90")
Ini adalah cerdik pandai. Angka 65 hingga 90 sesuai dengan kod ascii untuk semua huruf besar antara AZ. Susunan ini masuk ke fungsi MATCH sebagai tatasusunan, dan susunan kod ascii asal disediakan sebagai nilai carian.
MATCH kemudian mengembalikan nombor (berdasarkan kedudukan) atau ralat # N / A. Nombor mewakili huruf besar, jadi fungsi ISNUMBER digunakan bersama dengan fungsi IF untuk menyaring hasil. Hanya watak yang kod asciinya antara 65 dan 90 akan masuk ke dalam larik terakhir, yang kemudiannya disatukan semula dengan fungsi TEXTJOIN untuk membuat singkatan atau akronim akhir.