
Γενική φόρμουλα
=SORTBY(data,LEN(data),-1)
Περίληψη
Για να ταξινομήσετε τις συμβολοσειρές κειμένου κατά μήκος σε αύξουσα ή φθίνουσα σειρά, μπορείτε να χρησιμοποιήσετε έναν τύπο που βασίζεται στις συναρτήσεις SORTBY και LEN. Στο παράδειγμα που εμφανίζεται, ο τύπος στο D5 είναι:
=SORTBY(B5:B15,LEN(B5:B15),-1)
που ταξινομεί τις τιμές κειμένου στη στήλη Β κατά μήκος συμβολοσειράς, σε φθίνουσα σειρά.
Εξήγηση
Η συνάρτηση SORTBY μπορεί να ταξινομήσει τιμές σε ένα εύρος με έναν πίνακα που δεν υπάρχει στο φύλλο εργασίας.
Σε αυτό το παράδειγμα, θέλουμε να ταξινομήσουμε τις τιμές στο B5: B15 με τον αριθμό των χαρακτήρων που περιέχει κάθε συμβολοσειρά. Δουλεύοντας από μέσα προς τα έξω, χρησιμοποιούμε τη λειτουργία LEN για να πάρουμε το μήκος κάθε τιμής:
LEN(B5:B15) // get length of all strings
Επειδή δίνουμε στο LEN έναν πίνακα με 11 τιμές, έχουμε έναν πίνακα με 11 μήκη:
(5;7;14;6;5;13;9;4;8;6;11)
Κάθε αριθμός αντιπροσωπεύει το μήκος χαρακτήρων μιας τιμής στο B5: B11.
Αυτός ο πίνακας επιστρέφεται απευθείας στη συνάρτηση SORTBY ως όρισμα by_array1:
=SORTBY(B5:B15,(5;7;14;6;5;13;9;4;8;6;11),-1)
Η συνάρτηση SORTBY επιτρέπει την ταξινόμηση με βάση μία ή περισσότερες συστοιχίες "ταξινόμηση κατά", εφόσον οι διαστάσεις είναι συμβατές με τα δεδομένα προέλευσης. Σε αυτήν την περίπτωση, υπάρχουν 11 σειρές στα δεδομένα προέλευσης και 11 σειρές στον πίνακα που επιστρέφονται από το LEN, οπότε πληρούται η απαίτηση.
Η συνάρτηση SORTBY χρησιμοποιεί τον πίνακα μήκους που επέστρεψε ο LEN για να ταξινομήσει τις τιμές στο B5: B15 και επιστρέφει τα ταξινομημένα αποτελέσματα στο D5 σε έναν δυναμικό πίνακα. Επειδή η σειρά ταξινόμησης έχει οριστεί σε -1, οι τιμές ταξινομούνται σε αντίστροφη (φθίνουσα) σειρά κατά μήκος. Χρησιμοποιήστε ένα θετικό 1 για ταξινόμηση σε αύξουσα σειρά.