Công thức Excel: Viết tắt tên hoặc từ -

Công thức chung

=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),""))

Tóm lược

Để viết tắt văn bản có chứa các chữ cái in hoa, bạn có thể thử công thức mảng này dựa trên hàm TEXTJOIN, một hàm mới có sẵn trong Office 365 và Excel 2019. Bạn có thể sử dụng cách tiếp cận này để tạo tên viết tắt hoặc để tạo từ viết tắt. Chỉ các chữ cái viết hoa mới tồn tại trong công thức này, vì vậy văn bản nguồn phải bao gồm các từ viết hoa. Bạn có thể sử dụng hàm PROPER để viết hoa các từ nếu cần.

Trong ví dụ được hiển thị, công thức trong C5 là:

=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),""))

Giải trình

Làm việc từ trong ra ngoài, hàm MID được sử dụng để truyền chuỗi thành một mảng các chữ cái riêng lẻ:

MID(B5,ROW(INDIRECT("1:"&LEN(B5))),1)

Trong phần này của công thức, MID, ROW, INDIRECT và LEN được sử dụng để chuyển đổi một chuỗi thành một mảng hoặc các chữ cái, như được mô tả ở đây.

MID trả về một mảng tất cả các ký tự trong văn bản.

("W"; "i"; "l"; "l"; "i"; "a"; "m"; ""; "S"; "h"; "a"; "k"; "e ";" s ";" p ";" e ";" a ";" r ";" e ")

Mảng này được đưa vào hàm CODE, hàm này xuất ra một mảng các mã ascii dạng số, mỗi mã một chữ cái.

Riêng biệt, ROW và INDIRECT được sử dụng để tạo một mảng số khác:

ROW(INDIRECT("65:90")

Đây là một chút thông minh. Các số từ 65 đến 90 tương ứng với mã ascii cho tất cả các chữ cái viết hoa giữa AZ. Mảng này đi vào hàm MATCH dưới dạng mảng tra cứu và mảng mã ascii ban đầu được cung cấp làm giá trị tra cứu.

MATCH sau đó trả về một số (dựa trên vị trí) hoặc lỗi # N / A. Các số thể hiện các chữ cái viết hoa, vì vậy hàm ISNUMBER được sử dụng cùng với hàm IF để lọc kết quả. Chỉ các ký tự có mã ascii nằm trong khoảng từ 65 đến 90 mới được tạo thành mảng cuối cùng, sau đó được tập hợp lại với hàm TEXTJOIN để tạo ra chữ viết tắt cuối cùng hoặc từ viết tắt.

Liên kết tốt

Nhận tên viết tắt (Chandoo)

thú vị bài viết...