
Formula umum
=SORTBY(data,LEN(data),-1)
Ringkasan
Untuk mengurutkan string teks menurut panjangnya dalam urutan naik atau turun, Anda bisa menggunakan rumus berdasarkan fungsi SORTBY dan LEN. Dalam contoh yang ditampilkan, rumus di D5 adalah:
=SORTBY(B5:B15,LEN(B5:B15),-1)
yang mengurutkan nilai teks di kolom B menurut panjang string, dalam urutan menurun.
Penjelasan
Fungsi SORTBY bisa mengurutkan nilai dalam rentang dengan larik yang tidak ada di lembar kerja.
Dalam contoh ini, kami ingin mengurutkan nilai dalam B5: B15 dengan jumlah karakter yang dimiliki setiap string. Bekerja dari dalam ke luar, kami menggunakan fungsi LEN untuk mendapatkan panjang setiap nilai:
LEN(B5:B15) // get length of all strings
Karena kami memberikan LEN sebuah array dengan 11 nilai, kami mendapatkan sebuah array dengan 11 panjang:
(5;7;14;6;5;13;9;4;8;6;11)
Setiap angka mewakili panjang karakter suatu nilai di B5: B11.
Array ini dikembalikan langsung ke fungsi SORTBY sebagai argumen by_array1:
=SORTBY(B5:B15,(5;7;14;6;5;13;9;4;8;6;11),-1)
Fungsi SORTBY memungkinkan pengurutan berdasarkan satu atau beberapa larik "urutkan berdasarkan", selama dimensi kompatibel dengan data sumber. Dalam kasus ini, ada 11 baris dalam data sumber, dan 11 baris dalam larik dikembalikan oleh LEN, sehingga persyaratannya terpenuhi.
Fungsi SORTBY menggunakan larik panjang yang dikembalikan oleh LEN untuk mengurutkan nilai dalam B5: B15, dan mengembalikan hasil yang diurutkan ke D5 dalam larik dinamis. Karena tata urutan disetel ke -1, nilai diurutkan dalam urutan terbalik (menurun) menurut panjangnya. Gunakan angka positif 1 untuk mengurutkan dalam urutan naik.