Công thức Excel: Sắp xếp văn bản theo độ dài
Công thức Excel: Sắp xếp văn bản theo độ dài

Công thức chung
=SORTBY(data,LEN(data),-1)
Tóm lược

Để sắp xếp các chuỗi văn bản theo độ dài theo thứ tự tăng dần hoặc giảm dần, bạn có thể sử dụng công thức dựa trên các hàm SORTBY và LEN. Trong ví dụ được hiển thị, công thức trong D5 là:

=SORTBY(B5:B15,LEN(B5:B15),-1)

sắp xếp các giá trị văn bản trong cột B theo độ dài chuỗi, theo thứ tự giảm dần.

Giải trình

Các Hàm SORTBY có thể sắp xếp các giá trị trong một phạm vi với một mảng không tồn tại trên trang tính.

Trong ví dụ này, chúng tôi muốn sắp xếp các giá trị trong B5: B15 theo số ký tự mà mỗi chuỗi chứa. Làm việc từ trong ra ngoài, chúng tôi sử dụng hàm LEN để nhận độ dài của mỗi giá trị:

LEN(B5:B15) // get length of all strings

Bởi vì chúng tôi cung cấp cho LEN một mảng có 11 giá trị, chúng tôi nhận được một mảng có 11 độ dài:

{5;7;14;6;5;13;9;4;8;6;11}

Mỗi số đại diện cho độ dài ký tự của một giá trị trong B5: B11.

Mảng này được trả về trực tiếp cho hàm SORTBY dưới dạng by_array1 tranh luận:

=SORTBY(B5:B15,{5;7;14;6;5;13;9;4;8;6;11},-1)

Hàm SORTBY cho phép sắp xếp dựa trên một hoặc nhiều mảng “sắp xếp theo”, miễn là kích thước tương thích với dữ liệu nguồn. Trong trường hợp này, có 11 hàng trong dữ liệu nguồn và 11 hàng trong mảng được trả về bởi LEN, vì vậy yêu cầu được đáp ứng.

Hàm SORTBY sử dụng mảng độ dài do LEN trả về để sắp xếp các giá trị trong B5: B15 và trả về kết quả được sắp xếp cho D5 trong một mảng động. Bởi vì thứ tự sắp xếp được đặt thành -1, các giá trị được sắp xếp theo thứ tự ngược lại (giảm dần) theo độ dài. Sử dụng số dương 1 để sắp xếp theo thứ tự tăng dần.

https://exceljet.net/formula/sort-text-by-length