Formule Excel: trier le texte par longueur -

Table des matières

Formule générique

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

Sommaire

Pour trier les chaînes de texte par longueur dans l'ordre croissant ou décroissant, vous pouvez utiliser une formule basée sur les fonctions SORTBY et LEN. Dans l'exemple illustré, la formule en D5 est:

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

qui trie les valeurs de texte de la colonne B par longueur de chaîne, dans l'ordre décroissant.

Explication

La fonction SORTBY peut trier les valeurs dans une plage avec un tableau qui n'existe pas dans la feuille de calcul.

Dans cet exemple, nous voulons trier les valeurs dans B5: B15 par le nombre de caractères que contient chaque chaîne. En travaillant de l'intérieur vers l'extérieur, nous utilisons la fonction LEN pour obtenir la longueur de chaque valeur:

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

Parce que nous donnons à LEN un tableau avec 11 valeurs, nous obtenons un tableau avec 11 longueurs:

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

Chaque nombre représente la longueur de caractère d'une valeur dans B5: B11.

Ce tableau est renvoyé directement à la fonction SORTBY en tant qu'argument by_array1:

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

La fonction SORTBY permet un tri basé sur un ou plusieurs tableaux de «tri par», tant que les dimensions sont compatibles avec les données source. Dans ce cas, il y a 11 lignes dans les données source et 11 lignes dans le tableau renvoyé par LEN, donc l'exigence est remplie.

La fonction SORTBY utilise le tableau de longueurs renvoyé par LEN pour trier les valeurs dans B5: B15 et renvoie les résultats triés à D5 dans un tableau dynamique. Étant donné que l'ordre de tri est défini sur -1, les valeurs sont triées dans l'ordre inverse (décroissant) par longueur. Utilisez un 1 positif pour trier par ordre croissant.

Articles intéressants...