Công thức Excel: Đảo ngược chuỗi văn bản -

Mục lục

Công thức chung

=TEXTJOIN("",1,MID(A1,(10,9,8,7,6,5,4,3,2,1),1))

Tóm lược

Bạn có thể đảo ngược một chuỗi văn bản với các hàm TEXTJOIN và MID bằng cách sử dụng một hằng số mảng. Trong ví dụ được hiển thị, công thức trong C5 là:

=TEXTJOIN("",1,MID(B5,(10,9,8,7,6,5,4,3,2,1),1))

Giải trình

Về cơ bản, công thức này sử dụng hàm MID để trích xuất từng ký tự của chuỗi văn bản theo thứ tự ngược lại. Ký tự bắt đầu được đưa ra dưới dạng danh sách các số theo thứ tự giảm dần được mã hóa cứng dưới dạng hằng số mảng:

MID(B5,(10,9,8,7,6,5,4,3,2,1),1)

Đối số văn bản có B5 và 1 được chỉ định cho số ký tự cần trích xuất.

Với chuỗi "ABCD" trong B5, đầu ra từ MID là một mảng giống như sau:

("","","","","","","D","C","B","A")

Mảng này được đưa vào hàm TEXTJOIN dưới dạng đối số text1, với dấu phân cách được đặt thành chuỗi trống ("") và bỏ qua bộ trống thành TRUE (nhập là 1):

=TEXTJOIN("",1,("","","","","","","D","C","B","A"))

Hàm TEXTJOIN nối từng phần tử trong mảng với nhau, bỏ qua khoảng trống và trả về kết quả cuối cùng, "DCBA"

Mảng động

Hằng số mảng trong ví dụ trên sẽ chỉ hỗ trợ chuỗi tối đa 10 ký tự. Để sử dụng một mảng động có kích thước phù hợp, bạn có thể sử dụng một công thức phức tạp hơn như sau

=TEXTJOIN("",1,MID(B5,ABS(ROW(INDIRECT("1:"&LEN(B5)))-(LEN(B5)+1)),1))

Thông tin thêm về cách tạo một mảng số tại đây.

Mảng động với SEQUENCE

Đến hạn vào năm 2019 thông qua đăng ký Office 365, hàm SEQUENCE được thực hiện để tạo mảng số động. Với SEQUENCE, một giải pháp động trông giống như sau:

=TEXTJOIN("",1,MID(B5,SEQUENCE(LEN(B5),,LEN(B5),-1),1))

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