Ταξινόμηση κατά τύπο

Εάν πρέπει να ταξινομήσετε τη λίστα, τότε υπάρχουν πολλοί τρόποι στη διάθεσή σας, ο πιο εύκολος από τους οποίους είναι τα κουμπιά ταξινόμησης στην καρτέλα ή στο μενού ημερομηνία (Δεδομένα — Ταξινόμηση). Ωστόσο, υπάρχουν περιπτώσεις που η ταξινόμηση της λίστας πρέπει να γίνει αυτόματα, δηλαδή τύπους. Αυτό μπορεί να απαιτείται, για παράδειγμα, κατά τη δημιουργία δεδομένων για μια αναπτυσσόμενη λίστα, κατά τον υπολογισμό δεδομένων για γραφήματα κ.λπ. Πώς να ταξινομήσετε μια λίστα με έναν τύπο εν κινήσει;

Μέθοδος 1. Αριθμητικά δεδομένα

Εάν η λίστα περιέχει μόνο αριθμητικές πληροφορίες, τότε η ταξινόμηση μπορεί να γίνει εύκολα χρησιμοποιώντας τις συναρτήσεις ΕΛΑΧΙΣΤΑ (ΜΙΚΡΟ) и LINE (ΣΕΙΡΑ):

 

Λειτουργία ΕΛΑΧΙΣΤΑ (ΜΙΚΡΟ) βγάζει από τον πίνακα (στήλη Α) το ν-ο μικρότερο στοιχείο στη σειρά. Εκείνοι. SMALL(A:A;1) είναι ο μικρότερος αριθμός στη στήλη, SMALL(A:A;2) είναι ο δεύτερος μικρότερος και ούτω καθεξής.

Λειτουργία LINE (ΣΕΙΡΑ) επιστρέφει τον αριθμό σειράς για το καθορισμένο κελί, δηλαδή ROW(A1)=1, ROW(A2)=2 κ.λπ. Σε αυτήν την περίπτωση, χρησιμοποιείται απλώς ως γεννήτρια μιας ακολουθίας αριθμών n=1,2,3… για ταξινομημένη λίστα μας. Με την ίδια επιτυχία, ήταν δυνατό να δημιουργήσετε μια πρόσθετη στήλη, να τη συμπληρώσετε χειροκίνητα με την αριθμητική ακολουθία 1,2,3 … και να ανατρέξετε σε αυτήν αντί για τη συνάρτηση ROW.

Μέθοδος 2. Λίστα κειμένων και κανονικοί τύποι

Εάν η λίστα δεν περιέχει αριθμούς, αλλά κείμενο, τότε η συνάρτηση SMALL δεν θα λειτουργεί πλέον, επομένως πρέπει να ακολουθήσετε μια διαφορετική, ελαφρώς μεγαλύτερη διαδρομή.

Αρχικά, ας προσθέσουμε μια στήλη υπηρεσίας με έναν τύπο όπου ο σειριακός αριθμός κάθε ονόματος στη μελλοντική ταξινομημένη λίστα θα υπολογιστεί χρησιμοποιώντας τη συνάρτηση COUNTIF (COUNTIF):

Στην αγγλική έκδοση θα είναι:

=COUNTIF(A:A,»<"&A1)+COUNTIF($A$1:A1,"="&A1)

Ο πρώτος όρος είναι μια συνάρτηση για τη μέτρηση του αριθμού των κελιών που είναι λιγότερα από τον τρέχοντα. Το δεύτερο είναι ένα δίχτυ ασφαλείας σε περίπτωση που οποιοδήποτε όνομα εμφανίζεται περισσότερες από μία φορές. Τότε δεν θα έχουν τους ίδιους, αλλά διαδοχικά αυξανόμενους αριθμούς.

Τώρα οι λαμβανόμενοι αριθμοί πρέπει να ταξινομηθούν διαδοχικά σε αύξουσα σειρά. Για αυτό μπορείτε να χρησιμοποιήσετε τη λειτουργία ΕΛΑΧΙΣΤΑ (ΜΙΚΡΟ) από τον πρώτο τρόπο:

 

Λοιπόν, τελικά, μένει απλώς να βγάλουμε τα ονόματα από τη λίστα με τους αριθμούς τους. Για να το κάνετε αυτό, μπορείτε να χρησιμοποιήσετε τον ακόλουθο τύπο:

 

Λειτουργία ΠΙΟ ΕΚΤΙΘΕΤΑ (ΑΓΩΝΑΣ) αναζητά στη στήλη Β τον επιθυμητό σειριακό αριθμό (1, 2, 3 κ.λπ.) και, στην πραγματικότητα, επιστρέφει τον αριθμό της γραμμής όπου βρίσκεται αυτός ο αριθμός. Λειτουργία ΔΕΊΚΤΗΣ (ΔΕΙΚΤΗΣ) βγάζει από τη στήλη Α το όνομα σε αυτόν τον αριθμό γραμμής.

Μέθοδος 3: Τύπος πίνακα

Αυτή η μέθοδος είναι, στην πραγματικότητα, ο ίδιος αλγόριθμος τοποθέτησης όπως στη Μέθοδο-2, αλλά υλοποιείται από έναν τύπο πίνακα. Για να απλοποιηθεί ο τύπος, δόθηκε το όνομα στην περιοχή των κελιών C1:C10 Λίστα (επιλέξτε κελιά, πατήστε Ctrl + F3 και κουμπί Δημιουργία):

 

Στο κελί E1, αντιγράψτε τον τύπο μας:

=INDEX(List; MATCH(SMALL(COUNTIF(List; “<"&List); ROW(1:1)); COUNTIF(List; "<"&List); 0))

Ή στην αγγλική έκδοση:

=INDEX(Λίστα, MATCH(SMALL(COUNTIF(Λίστα, «<"&Λίστα), ROW(1:1)), COUNTIF(Λίστα, "<"&Λίστα), 0))

και ώθηση Ctrl + Shift + Εισαγωγήγια να το εισάγετε ως τύπο πίνακα. Στη συνέχεια, ο τύπος που προκύπτει μπορεί να αντιγραφεί σε όλο το μήκος της λίστας.

Εάν θέλετε ο τύπος να μην λαμβάνει υπόψη ένα σταθερό εύρος, αλλά να μπορεί να προσαρμόζεται κατά την προσθήκη νέων στοιχείων στη λίστα, τότε θα χρειαστεί να αλλάξετε ελαφρώς τη στρατηγική.

Αρχικά, η περιοχή λίστας θα πρέπει να ρυθμιστεί δυναμικά. Για να το κάνετε αυτό, κατά τη δημιουργία, πρέπει να καθορίσετε όχι μια σταθερή περιοχή C3:C10, αλλά έναν ειδικό τύπο που θα αναφέρεται σε όλες τις διαθέσιμες τιμές, ανεξάρτητα από τον αριθμό τους. Κάντε κλικ Alt + F3 ή ανοίξτε την καρτέλα Φόρμουλες – Διευθυντής ονομάτων (Τύπες — Διαχειριστής ονόματος), δημιουργήστε ένα νέο όνομα και στο πεδίο Σύνδεσμος (Αναφορά) εισαγάγετε τον ακόλουθο τύπο (υποθέτω ότι το εύρος των δεδομένων προς ταξινόμηση ξεκινά από το κελί C1):

=СМЕЩ(C1;0;0;СЧЁТЗ(C1:C1000);1)

=OFFSET(C1,0,0,SCHÖTZ(C1:C1000),1)

Δεύτερον, ο παραπάνω τύπος πίνακα θα πρέπει να επεκταθεί με ένα περιθώριο - με την προσδοκία να εισαχθούν πρόσθετα δεδομένα στο μέλλον. Σε αυτήν την περίπτωση, ο τύπος πίνακα θα αρχίσει να δίνει ένα σφάλμα #NUMBER σε κελιά που δεν έχουν ακόμη συμπληρωθεί. Για να το παρακολουθήσετε, μπορείτε να χρησιμοποιήσετε τη λειτουργία ΑΦΑΝΙΣΤΗΡΙΟ, που πρέπει να προστεθεί «γύρω» ο τύπος του πίνακα:

=IFERROR(INDEX(List; MATCH(SMALL(COUNTIF(List; "<"&List); ROW(1:1)); COUNTIF(List; "<"&List); 0));»»)

=IFERROR(NDEX(Λίστα, MATCH(SMALL(COUNTIF(Λίστα, «<"&Λίστα), ROW(1:1)), COUNTIF(Λίστα, "<"&Λίστα), 0));"")

Πιάνει το σφάλμα #NUMBER και βγάζει ένα κενό (κενά εισαγωγικά).

:

  • Ταξινόμηση εύρους ανά χρώμα
  • Τι είναι οι τύποι πίνακα και γιατί χρειάζονται
  • SORT ταξινόμηση και δυναμικοί πίνακες στο νέο Office 365

 

Αφήστε μια απάντηση