Excel formülü: Metni uzunluğa göre sıralama -

İçindekiler

Genel formül

=SORTBY(data,LEN(data),-1)

Özet

Metin dizelerini uzunluğa göre artan veya azalan sırada sıralamak için SIRALA ve UZUNLUK işlevlerine dayalı bir formül kullanabilirsiniz. Gösterilen örnekte, D5'teki formül şöyledir:

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

B sütunundaki metin değerlerini dize uzunluğuna göre azalan sırada sıralar.

Açıklama

SORTBY işlevi, çalışma sayfasında bulunmayan bir diziye sahip bir aralıktaki değerleri sıralayabilir.

Bu örnekte, B5: B15'teki değerleri her dizenin içerdiği karakter sayısına göre sıralamak istiyoruz. Baştan sona çalışarak, her bir değerin uzunluğunu elde etmek için UZUNLUK işlevini kullanırız:

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

LEN'e 11 değerli bir dizi verdiğimiz için, 11 uzunlukta bir dizi elde ederiz:

(5;7;14;6;5;13;9;4;8;6;11)

Her sayı, B5: B11'deki bir değerin karakter uzunluğunu temsil eder.

Bu dizi, by_array1 bağımsız değişkeni olarak doğrudan SORTBY işlevine döndürülür:

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

SORTBY işlevi, boyutlar kaynak verilerle uyumlu olduğu sürece bir veya daha fazla "sıralama ölçütü" dizisine göre sıralamaya izin verir. Bu durumda, kaynak verilerde 11 satır ve LEN tarafından döndürülen dizide 11 satır vardır, bu nedenle gereksinim karşılanır.

SORTBY işlevi, B5: B15'teki değerleri sıralamak için UZUNLUK tarafından döndürülen uzunluklar dizisini kullanır ve sıralı sonuçları dinamik bir dizide D5'e döndürür. Sıralama düzeni -1 olarak ayarlandığından, değerler uzunluğa göre ters (azalan) sırada sıralanır. Artan düzende sıralamak için pozitif 1 kullanın.

Ilginç makaleler...