Τύπος Excel: ΦΙΛΤΡΟ στις πρώτες ή τις τελευταίες τιμές n -

Πίνακας περιεχομένων

Γενική φόρμουλα

=INDEX(FILTER(data,data""),SEQUENCE(n,1,1,1))

Περίληψη

Για να φιλτράρετε και να εξαγάγετε τις πρώτες ή τις τελευταίες τιμές n (δηλαδή τις πρώτες 3 τιμές, τις πρώτες 5 τιμές, κ.λπ.), μπορείτε να χρησιμοποιήσετε τη συνάρτηση FILTER μαζί με το INDEX και τη SEQUENCE. Στο παράδειγμα που εμφανίζεται, ο τύπος στο D5 είναι:

=INDEX(FILTER(data,data""),SEQUENCE(3,1,1,1))

όπου τα δεδομένα είναι το ονομαζόμενο εύρος B5: B15.

Εξήγηση

Δουλεύοντας από μέσα προς τα έξω, χρησιμοποιούμε τη συνάρτηση SEQUENCE για να δημιουργήσουμε μια τιμή αριθμού σειράς για το INDEX όπως αυτό:

SEQUENCE(3,1,1,1)

Ζητούμε από τη SEQUENCE έναν πίνακα με 3 σειρές x 1 στήλη, ξεκινώντας από το 1, με τιμή βήματος 1. Το αποτέλεσμα είναι ένας πίνακας όπως αυτός:

(1;2;3)

που επιστρέφεται απευθείας στη συνάρτηση INDEX ως όρισμα row_num:

=INDEX(FILTER(data,data""),(1;2;3))

Για να κατασκευάσουμε τον πίνακα για INDEX, χρησιμοποιούμε τη συνάρτηση FILTER για να ανακτήσουμε μια λίστα μη κενών καταχωρήσεων από τα ονομαζόμενα δεδομένα εύρους (B5: B15) όπως αυτό:

FILTER(data,data"")

Το όρισμα πίνακα είναι δεδομένα και το όρισμα include είναι τα δεδομένα έκφρασης "". Αυτό μπορεί να μεταφραστεί κυριολεκτικά ως "τιμές επιστροφής από τα ονομαζόμενα δεδομένα εύρους όπου οι τιμές στα δεδομένα δεν είναι κενές". Το αποτέλεσμα είναι ένας πίνακας με 9 τιμές όπως αυτή:

("Atlanta";"Chicago";"Dallas";"Denver";"Los Angeles";"Miami";"New York";"Seattle";"Minneapolis")

Οι τιμές ειδοποίησης που σχετίζονται με τα δύο κενά κελιά έχουν αφαιρεθεί. Αυτός ο πίνακας επιστρέφεται στη συνάρτηση INDEX ως όρισμα πίνακα.

Τέλος, το INDEX επιστρέφει την 1η, 2η και 3η τιμή από τον πίνακα που επέστρεψε το FILTER:

("Atlanta";"Chicago";"Dallas")

Τελευταίες τιμές n

Για να λάβετε τις τελευταίες τιμές n με το ΦΙΛΤΡΟ, χρησιμοποιείτε την ίδια δομή τύπων, με τις εισόδους στο SEQUENCE να τροποποιούνται για να δημιουργήσετε μια σειρά τελευταίων αριθμών. Για παράδειγμα, για να λάβετε τις 3 τελευταίες μη κενές τιμές στο παράδειγμα που εμφανίζεται, μπορείτε να χρησιμοποιήσετε έναν τύπο όπως αυτό:

=INDEX(FILTER(data,data""),SORT(SEQUENCE(3,1,SUM(--(data"")),-1)))

Το κύριο κόλπο εδώ είναι η μέτρηση των μη κενών καταχωρίσεων στα δεδομένα εύρους ονομασίας όπως αυτό:

SUM(--(data""))

Χρησιμοποιούμε ένα διπλό αρνητικό για να επιβάλουμε τις τιμές TRUE FALSE σε 1s και 0s και, στη συνέχεια, χρησιμοποιούμε τη συνάρτηση SUM για να λάβουμε τον αριθμό. Το αποτέλεσμα επιστρέφεται ως αρχικό όρισμα στο SEQUENCE Παρέχουμε -1 για βήμα προς βήμα πίσω από την αρχή.

Περικαλύπτουμε επίσης τη συνάρτηση SORT γύρω από τη SEQUENCE, ώστε ο πίνακας που επιστρέφεται να είναι (7, 8, 9) και όχι (9, 8, 7). Αυτό διασφαλίζει ότι οι τιμές επιστρέφονται με την ίδια σειρά που εμφανίζονται στα δεδομένα προέλευσης.

ενδιαφέροντα άρθρα...