Συνάρτηση FILTER του Excel - δυναμικό φιλτράρισμα με τύπους

  • Μοιραστείτε Αυτό
Michael Brown

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

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

Πώς συνήθως φιλτράρετε στο Excel; Ως επί το πλείστον, με τη χρήση του Αυτόματου φίλτρου και σε πιο σύνθετα σενάρια με το Σύνθετο φίλτρο. Όντας γρήγορες και ισχυρές, αυτές οι μέθοδοι έχουν ένα σημαντικό μειονέκτημα - δεν ενημερώνονται αυτόματα όταν τα δεδομένα σας αλλάζουν, πράγμα που σημαίνει ότι θα πρέπει να καθαρίσετε και να φιλτράρετε ξανά. Η εισαγωγή της συνάρτησης FILTER στο Excel 365 γίνεται μια πολυαναμενόμενη εναλλακτική λύση για νατα συμβατικά χαρακτηριστικά. Σε αντίθεση με αυτά, οι τύποι του Excel υπολογίζονται αυτόματα με κάθε αλλαγή φύλλου εργασίας, οπότε θα χρειαστεί να ρυθμίσετε το φίλτρο σας μόνο μία φορά!

    Λειτουργία FILTER του Excel

    Η συνάρτηση FILTER στο Excel χρησιμοποιείται για το φιλτράρισμα ενός εύρους δεδομένων με βάση τα κριτήρια που καθορίζετε.

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

    Η σύνταξη της συνάρτησης FILTER έχει ως εξής:

    FILTER(array, include, [if_empty])

    Πού:

    • Συστοιχία (υποχρεωτικό) - το εύρος ή ο πίνακας τιμών που θέλετε να φιλτράρετε.
    • Συμπεριλάβετε το (υποχρεωτικό) - τα κριτήρια που παρέχονται ως πίνακας Boolean (τιμές TRUE και FALSE).

      Το ύψος του (όταν τα δεδομένα είναι σε στήλες) ή το πλάτος του (όταν τα δεδομένα είναι σε γραμμές) πρέπει να είναι ίσο με εκείνο του πεδίου array επιχείρημα.

    • If_empty (προαιρετικό) - η τιμή που θα επιστρέφεται όταν καμία καταχώριση δεν πληροί τα κριτήρια.

    Η λειτουργία FILTER είναι διαθέσιμη μόνο στο Excel for Microsoft 365 και στο Excel 2021. Στο Excel 2019, στο Excel 2016 και σε προηγούμενες εκδόσεις, δεν υποστηρίζεται.

    Βασικός τύπος FILTER του Excel

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

    Από το παρακάτω σύνολο δεδομένων, υποθέτοντας ότι θέλετε να εξάγετε τις εγγραφές με μια συγκεκριμένη τιμή στο πεδίο Ομάδα , στήλη, ας πούμε την ομάδα C. Για να γίνει αυτό, παρέχουμε την έκφραση B2:B13="C" στο περιλαμβάνουν όρισμα, το οποίο θα παράγει έναν απαιτούμενο πίνακα Boolean, με το TRUE να αντιστοιχεί σε τιμές "C".

    =FILTER(A2:C13, B2:B13="C", "Δεν υπάρχουν αποτελέσματα")

    Στην πράξη, είναι πιο βολικό να εισάγετε τα κριτήρια σε ένα ξεχωριστό κελί, π.χ. F1, και να χρησιμοποιείτε μια αναφορά κελιού αντί να κωδικοποιείτε την τιμή απευθείας στον τύπο:

    =FILTER(A2:C13, B2:B13=F1, "Δεν υπάρχουν αποτελέσματα")

    Σε αντίθεση με τη λειτουργία Φίλτρο του Excel, η συνάρτηση δεν πραγματοποιεί καμία αλλαγή στα αρχικά δεδομένα. Εξάγει τις φιλτραρισμένες εγγραφές στη λεγόμενη περιοχή διαρροής (E4:G7 στο παρακάτω στιγμιότυπο), ξεκινώντας από το κελί όπου εισάγεται ο τύπος:

    Αν δεν υπάρχουν εγγραφές που να ταιριάζουν με τα καθορισμένα κριτήρια, ο τύπος επιστρέφει την τιμή που βάλατε στο πεδίο if_empty όρισμα, "Κανένα αποτέλεσμα" σε αυτό το παράδειγμα:

    Αν προτιμάτε δεν επιστρέφει τίποτα σε αυτή την περίπτωση, τότε δώστε ένα κενό αλφαριθμητικό ("") για το τελευταίο όρισμα:

    =FILTER(A2:C13, B2:B13=F1, "")

    Σε περίπτωση που τα δεδομένα σας είναι οργανωμένα οριζόντια από τα αριστερά προς τα δεξιά όπως φαίνεται στο παρακάτω στιγμιότυπο, η λειτουργία FILTER θα λειτουργήσει επίσης πολύ καλά. Απλά βεβαιωθείτε ότι έχετε ορίσει τις κατάλληλες περιοχές για τα array και περιλαμβάνουν ορίσματα, έτσι ώστε ο πίνακας πηγής και ο πίνακας Boolean να έχουν το ίδιο πλάτος:

    =FILTER(B2:M4, B3:M3= B7, "No results")

    Συνάρτηση FILTER του Excel - σημειώσεις χρήσης

    Για να φιλτράρετε αποτελεσματικά στο Excel με τύπους, υπάρχουν μερικά σημαντικά σημεία που πρέπει να προσέξετε:

    • Η συνάρτηση FILTER διαχέει αυτόματα τα αποτελέσματα κάθετα ή οριζόντια στο φύλλο εργασίας, ανάλογα με τον τρόπο οργάνωσης των αρχικών σας δεδομένων. Επομένως, βεβαιωθείτε ότι έχετε πάντα αρκετά κενά κελιά κάτω και δεξιά, διαφορετικά θα λάβετε σφάλμα #SPILL.
    • Τα αποτελέσματα της συνάρτησης FILTER του Excel είναι δυναμικά, δηλαδή ενημερώνονται αυτόματα όταν αλλάζουν οι τιμές στο αρχικό σύνολο δεδομένων. array δεν ενημερώνεται όταν προστίθενται νέες εγγραφές στα δεδομένα πηγής. Αν επιθυμείτε το όρισμα array για αυτόματη αλλαγή μεγέθους, στη συνέχεια μετατρέψτε το σε πίνακα του Excel και δημιουργήστε τύπους με δομημένες αναφορές ή δημιουργήστε μια δυναμική περιοχή με όνομα.

    Πώς να φιλτράρετε στο Excel - παραδείγματα τύπων

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

    Φίλτρο με πολλαπλά κριτήρια (λογική AND)

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

    FILTER(array, ( range1 = κριτήρια1 ) * ( range2 = κριτήρια2 ), "No results")

    Η λειτουργία πολλαπλασιασμού επεξεργάζεται τους πίνακες με το Λογική AND , διασφαλίζοντας ότι μόνο οι εγγραφές που πληρούν όλα τα κριτήρια Τεχνικά, λειτουργεί ως εξής:

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

    Τα παρακάτω παραδείγματα δείχνουν αυτόν τον γενικό τύπο σε δράση.

    Παράδειγμα 1. Φιλτράρισμα πολλαπλών στηλών στο Excel

    Επεκτείνοντας λίγο περισσότερο τον βασικό τύπο FILTER του Excel, ας φιλτράρουμε τα δεδομένα με βάση δύο στήλες: Ομάδα (στήλη Β) και Κερδίζει (στήλη Γ).

    Για το σκοπό αυτό, ρυθμίζουμε τα ακόλουθα κριτήρια: πληκτρολογήστε το όνομα της ομάδας-στόχου στο F2 ( κριτήρια1 ) και τον ελάχιστο απαιτούμενο αριθμό νικών στο F3 ( κριτήρια2 ).

    Δεδομένου ότι τα δεδομένα της πηγής μας είναι σε A2:C13 ( array ), οι ομάδες βρίσκονται στο B2:B13 ( range1 ) και οι νίκες είναι στο C2:C13 ( range2 ), ο τύπος έχει την εξής μορφή:

    =FILTER(A2:C13, (B2:B13=F2) * (C2:C13>=F3), "Δεν υπάρχουν αποτελέσματα")

    Ως αποτέλεσμα, θα έχετε μια λίστα με τους παίκτες του ομίλου Α που έχουν εξασφαλίσει 2 ή περισσότερες νίκες:

    Παράδειγμα 2. Φιλτράρισμα δεδομένων μεταξύ ημερομηνιών

    Κατ' αρχάς, θα πρέπει να σημειωθεί ότι δεν είναι δυνατόν να φτιάξετε έναν γενικό τύπο για να φιλτράρετε με βάση την ημερομηνία στο Excel. Σε διαφορετικές καταστάσεις, θα πρέπει να κατασκευάσετε διαφορετικά τα κριτήρια, ανάλογα με το αν θέλετε να φιλτράρετε με βάση μια συγκεκριμένη ημερομηνία, με βάση τον μήνα ή με βάση το έτος. Ο σκοπός αυτού του παραδείγματος είναι να επιδείξει τη γενική προσέγγιση.

    Στα δεδομένα του δείγματός μας, προσθέτουμε μια ακόμη στήλη που περιέχει τις ημερομηνίες της τελευταίας νίκης (στήλη D). Και τώρα, θα εξάγουμε τις νίκες που σημειώθηκαν σε μια συγκεκριμένη περίοδο, ας πούμε μεταξύ 17 Μαΐου και 31 Μαΐου.

    Σημειώστε ότι στην περίπτωση αυτή, και τα δύο κριτήρια ισχύουν για το ίδιο εύρος:

    =FILTER(A2:D13, (D2:D13>=G2) * (D2:D13<=G3), "Δεν υπάρχουν αποτελέσματα")

    Όπου G2 και G3 είναι οι ημερομηνίες που θα φιλτραριστούν μεταξύ.

    Φίλτρο με πολλαπλά κριτήρια (λογική OR)

    Για να εξάγετε δεδομένα με βάση πολλαπλές συνθήκες OR, χρησιμοποιείτε επίσης λογικές εκφράσεις όπως φαίνεται στα προηγούμενα παραδείγματα, αλλά αντί να τις πολλαπλασιάσετε, τις αθροίζετε. Όταν οι πίνακες Boolean που επιστρέφονται από τις εκφράσεις αθροίζονται, ο πίνακας που προκύπτει θα έχει 0 για τις καταχωρήσεις που δεν πληρούν κανένα κριτήριο (δηλαδή όλα τα κριτήρια είναι FALSE), και τέτοιες καταχωρήσεις θα φιλτραριστούν. Οι καταχωρήσεις για τις οποίες σετουλάχιστον ένα κριτήριο είναι ΑΛΗΘΙΝΟ θα εξαχθεί.

    Ακολουθεί ο γενικός τύπος για το φιλτράρισμα στηλών με τη λογική OR:

    FILTER(array, ( range1 = κριτήρια1 ) + ( range2 = κριτήρια2 ), "No results")

    Ως παράδειγμα, ας εξάγουμε μια λίστα με παίκτες που έχουν αυτό ή εκείνο αριθμός νικών.

    Υποθέτοντας ότι τα δεδομένα προέλευσης βρίσκονται στο A2:C13, οι νίκες βρίσκονται στο C2:C13 και οι αριθμοί νικών που μας ενδιαφέρουν βρίσκονται στα F2 και F3, ο τύπος έχει ως εξής:

    =FILTER(A2:C13, (C2:C13=F2) + (C2:C13=F3), "Δεν υπάρχουν αποτελέσματα")

    Ως αποτέλεσμα, γνωρίζετε ποιοι παίκτες έχουν κερδίσει όλα τα παιχνίδια (4) και ποιοι δεν έχουν κερδίσει κανένα (0):

    Φίλτρο με βάση πολλαπλά κριτήρια AND καθώς και OR

    Σε περίπτωση που πρέπει να εφαρμόσετε και τους δύο τύπους κριτηρίων, θυμηθείτε αυτόν τον απλό κανόνα: ενώστε τα κριτήρια AND με αστερίσκο (*) και τα κριτήρια OR με το σύμβολο συν (+).

    Για παράδειγμα, για να επιστρέψετε μια λίστα παικτών που έχουν έναν δεδομένο αριθμό νικών (F2) ΚΑΙ ανήκουν στην ομάδα που αναφέρεται είτε στην E2 είτε στην E3, δημιουργήστε την ακόλουθη αλυσίδα λογικών εκφράσεων:

    =FILTER(A2:C13, (C2:C13=F2) * ((B2:B13=E2) + (B2:B13=E3)), "No results")

    Και θα λάβετε το ακόλουθο αποτέλεσμα:

    Πώς να φιλτράρετε τα αντίγραφα στο Excel

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

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

    Εάν ο στόχος σας είναι να φιλτράρετε τα αντίγραφα , δηλαδή να εξάγετε τις καταχωρήσεις που εμφανίζονται περισσότερες από μία φορές, τότε χρησιμοποιήστε τη συνάρτηση FILTER σε συνδυασμό με τη συνάρτηση COUNTIFS.

    Η ιδέα είναι να λάβετε τον αριθμό των εμφανίσεων για όλες τις εγγραφές και να εξάγετε εκείνες που είναι μεγαλύτερες από 1. Για να λάβετε τους αριθμούς, παρέχετε το ίδιο εύρος για κάθε criteria_range / κριτήρια ζεύγος COUNTIFS όπως αυτό:

    FILTER( array , COUNTIFS( column1 , column1, column2 , column2 )>1, "Δεν υπάρχουν αποτελέσματα")

    Για παράδειγμα, για να φιλτράρετε τις διπλές γραμμές από τα δεδομένα στην A2:C20 με βάση τις τιμές και στις 3 στήλες, ο τύπος που πρέπει να χρησιμοποιήσετε είναι ο εξής:

    =FILTER(A2:C20, COUNTIFS(A2:A20, A2:A20, B2:B20, B2:B20, C2:C20, C2:C20)>1, "Δεν υπάρχουν αποτελέσματα")

    Συμβουλή. Για να φιλτράρετε τα αντίγραφα με βάση τις τιμές στο πεδίο βασικές στήλες , περιλαμβάνουν μόνο αυτές τις συγκεκριμένες στήλες στη συνάρτηση COUNTIFS.

    Πώς να φιλτράρετε τα κενά στο Excel

    Ένας τύπος για το φιλτράρισμα των κενών κελιών είναι στην πραγματικότητα μια παραλλαγή του τύπου FILTER του Excel με πολλαπλά κριτήρια AND. Σε αυτή την περίπτωση, ελέγχουμε αν όλες (ή συγκεκριμένες) στήλες έχουν δεδομένα και αποκλείουμε τις γραμμές στις οποίες τουλάχιστον ένα κελί είναι κενό. Για να εντοπίσετε τα μη κενά κελιά, χρησιμοποιείτε τον τελεστή "μη ίσο με" () μαζί με μια κενή συμβολοσειρά ("") ως εξής:

    FILTER(array, ( στήλη1 "") * ( column2 =""), "Δεν υπάρχουν αποτελέσματα")

    Με τα δεδομένα πηγής στο A2:C12, για να φιλτράρετε τις γραμμές που περιέχουν ένα ή περισσότερα κενά κελιά, εισάγεται ο ακόλουθος τύπος στο E3:

    Φιλτράρισμα κελιών που περιέχουν συγκεκριμένο κείμενο

    Για να εξάγετε τα κελιά που περιέχουν συγκεκριμένο κείμενο, μπορείτε να χρησιμοποιήσετε τη συνάρτηση ΦΙΛΤΡΟ σε συνδυασμό με τον κλασικό τύπο Αν το κελί περιέχει:

    FILTER(array, ISNUMBER(SEARCH(" κείμενο ", εύρος )), "No results")

    Ακούστε πώς λειτουργεί:

    • Η συνάρτηση SEARCH αναζητά μια καθορισμένη συμβολοσειρά κειμένου σε μια δεδομένη περιοχή και επιστρέφει είτε έναν αριθμό (τη θέση του πρώτου χαρακτήρα) είτε σφάλμα #VALUE! (το κείμενο δεν βρέθηκε).
    • Η συνάρτηση ISNUMBER μετατρέπει όλους τους αριθμούς σε TRUE και τα σφάλματα σε FALSE και περνάει τον προκύπτοντα πίνακα Boolean στην εντολή περιλαμβάνουν όρισμα της συνάρτησης FILTER.

    Για αυτό το παράδειγμα, έχουμε προσθέσει το Επώνυμα των παικτών στο B2:B13, πληκτρολογήστε το μέρος του ονόματος που θέλουμε να βρούμε στο G2 και στη συνέχεια χρησιμοποιήστε τον ακόλουθο τύπο για να φιλτράρετε τα δεδομένα:

    =FILTER(A2:D13, ISNUMBER(SEARCH(G2, B2:B13)), "Δεν υπάρχουν αποτελέσματα")

    Ως αποτέλεσμα, ο τύπος ανακτά τα δύο επώνυμα που περιέχουν το "han":

    Φιλτράρισμα και υπολογισμός (άθροισμα, μέσος όρος, ελάχιστο, μέγιστο, κ.λπ.)

    Ένα εξαιρετικό χαρακτηριστικό της συνάρτησης FILTER του Excel είναι ότι μπορεί όχι μόνο να εξάγει τιμές με όρους, αλλά και να συνοψίζει τα φιλτραρισμένα δεδομένα. Για το σκοπό αυτό, συνδυάστε τη FILTER με συναρτήσεις συνάθροισης όπως SUM, AVERAGE, COUNT, MAX ή MIN.

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

    Συνολικές νίκες:

    =SUM(FILTER(C2:C13, B2:B13=F1, 0))

    Μέσος όρος νικών:

    =AVERAGE(FILTER(C2:C13, B2:B13=F1, 0))

    Μέγιστες νίκες:

    =MAX(FILTER(C2:C13, B2:B13=F1, 0))

    Ελάχιστες νίκες:

    =MIN(FILTER(C2:C13, B2:B13=F1, 0))

    Προσέξτε ότι, σε όλους τους τύπους, χρησιμοποιούμε το μηδέν για το if_empty όρισμα, έτσι ώστε οι τύποι να επιστρέφουν 0 αν δεν βρεθεί καμία τιμή που να πληροί τα κριτήρια. Η παροχή οποιουδήποτε κειμένου όπως "Δεν υπάρχουν αποτελέσματα" θα οδηγούσε σε σφάλμα #VALUE, το οποίο είναι προφανώς το τελευταίο πράγμα που θέλετε :)

    Τύπος FILTER με ευαισθησία στην πεζότητα

    Ένας τυπικός τύπος FILTER του Excel δεν λαμβάνει υπόψη την πεζότητα, δηλαδή δεν κάνει καμία διάκριση μεταξύ πεζών και κεφαλαίων χαρακτήρων. Για να διακρίνετε την πεζότητα του κειμένου, τοποθετήστε τη συνάρτηση EXACT στον τύπο περιλαμβάνουν Αυτό θα αναγκάσει το FILTER να κάνει λογικό έλεγχο με τρόπο που να λαμβάνει υπόψη την πεζότητα:

    FILTER(array, EXACT( εύρος , κριτήρια ), "No results")

    Ας υποθέσουμε ότι έχετε και τις δύο ομάδες A και a και επιθυμείτε να εξάγετε εγγραφές όπου η ομάδα είναι το πεζό "a". Για να γίνει αυτό, χρησιμοποιήστε τον ακόλουθο τύπο, όπου A2:C13 είναι τα δεδομένα πηγής και B2:B13 είναι οι ομάδες προς φιλτράρισμα:

    =FILTER(A2:C13, EXACT(B2:B13, "a"), "No results")

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

    =FILTER(A2:C13, EXACT(B2:B13, F1), "Δεν υπάρχουν αποτελέσματα")

    Πώς να φιλτράρετε δεδομένα και να επιστρέφετε μόνο συγκεκριμένες στήλες

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

    Παράδειγμα 1. Φιλτράρισμα ορισμένων γειτονικών στηλών

    Σε περίπτωση που θέλετε να εμφανίζονται κάποιες γειτονικές στήλες σε ένα αποτέλεσμα ΦΙΛΤΡΑ, συμπεριλάβετε μόνο αυτές τις στήλες στο array επειδή αυτό το όρισμα καθορίζει ποιες στήλες θα επιστραφούν.

    Στο βασικό παράδειγμα του τύπου FILTER, αν υποθέσουμε ότι θέλετε να επιστρέψετε τις 2 πρώτες στήλες ( Όνομα και Ομάδα ). Έτσι, παρέχετε A2:B13 για το array επιχείρημα:

    =FILTER(A2:B13, B2:B13=F1, "Δεν υπάρχουν αποτελέσματα")

    Ως αποτέλεσμα, λαμβάνουμε έναν κατάλογο των συμμετεχόντων της ομάδας-στόχου που ορίζεται στο F1:

    Παράδειγμα 2. Φιλτράρισμα μη γειτονικών στηλών

    Για να αναγκάσετε τη συνάρτηση FILTER να επιστρέψει μη συνεχόμενες στήλες, χρησιμοποιήστε αυτό το έξυπνο τέχνασμα:

    1. Φτιάξτε έναν τύπο FILTER με την επιθυμητή συνθήκη (ή τις επιθυμητές συνθήκες) χρησιμοποιώντας ολόκληρο τον πίνακα για array .
    2. Φωλιάστε τον παραπάνω τύπο μέσα σε μια άλλη συνάρτηση FILTER. Για να διαμορφώσετε τη συνάρτηση "περιτύλιγμα", χρησιμοποιήστε μια σταθερά πίνακα με τιμές TRUE και FALSE ή τιμές 1 και 0 για την περιλαμβάνουν όρισμα, όπου το TRUE (1) χαρακτηρίζει τις στήλες που πρέπει να διατηρηθούν και το FALSE (0) τις στήλες που πρέπει να αποκλειστούν.

    Για παράδειγμα, για να επιστρέψετε μόνο Ονόματα (1η στήλη) και Κερδίζει (3η στήλη), χρησιμοποιούμε {1,0,1} ή {TRUE,FALSE,TRUE} για το περιλαμβάνουν όρισμα της εξωτερικής συνάρτησης FILTER:

    =FILTER(FILTER(A2:C13, B2:B13=F1), {1,0,1})

    Ή

    =FILTER(FILTER(A2:C13, B2:B13=F1), {TRUE,FALSE,TRUE})

    Πώς να περιορίσετε τον αριθμό των σειρών που επιστρέφονται από τη συνάρτηση FILTER

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

    Ας δούμε πώς λειτουργεί σε ένα παράδειγμα ενός απλού τύπου που αντλεί παίκτες από την ομάδα-στόχο στην F1:

    =FILTER(A2:C13, B2:B13=F1)

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

    • Συνδέστε τον τύπο FILTER στο πεδίο array όρισμα της συνάρτησης INDEX.
    • Για το row_num όρισμα της INDEX, χρησιμοποιήστε μια κάθετη σταθερά πίνακα όπως {1;2}. Καθορίζει πόσες γραμμές θα επιστραφούν (2 στην περίπτωσή μας).
    • Για το column_num όρισμα, χρησιμοποιήστε μια σταθερά οριζόντιου πίνακα, όπως {1,2,3}. Καθορίζει ποιες στήλες θα επιστραφούν (οι 3 πρώτες στήλες σε αυτό το παράδειγμα).
    • Για να αντιμετωπίσετε πιθανά σφάλματα όταν δεν υπάρχουν δεδομένα που να ταιριάζουν με τα κριτήριά σας, μπορείτε να περιβάλλετε τον τύπο σας με τη συνάρτηση IFERROR.

    Ο πλήρης τύπος έχει την εξής μορφή:

    =IFERROR(INDEX(FILTER(A2:C13, B2:B13=F1), {1;2}, {1,2,3}), "Κανένα αποτέλεσμα")

    Όταν εργάζεστε με μεγάλους πίνακες, η συγγραφή σταθερών συστοιχιών με το χέρι μπορεί να είναι αρκετά δυσκίνητη. Κανένα πρόβλημα, η συνάρτηση SEQUENCE μπορεί να δημιουργήσει τους διαδοχικούς αριθμούς αυτόματα για εσάς:

    =IFERROR(INDEX(FILTER(A2:C13, B2:B13=F1), SEQUENCE(2), SEQUENCE(1, COLUMNS(A2:C13))), "No result")

    Η πρώτη SEQUENCE παράγει έναν κατακόρυφο πίνακα που περιέχει τόσους διαδοχικούς αριθμούς όσοι ορίζονται στο πρώτο (και μοναδικό) όρισμα. Η δεύτερη SEQUENCE χρησιμοποιεί τη συνάρτηση COLUMNS για να μετρήσει τον αριθμό των στηλών στο σύνολο δεδομένων και παράγει έναν ισοδύναμο οριζόντιο πίνακα.

    Συμβουλή. Για να επιστρέψετε δεδομένα από συγκεκριμένες στήλες , όχι όλες τις στήλες, στη σταθερά του οριζόντιου πίνακα που χρησιμοποιείτε για το column_num του INDEX, συμπεριλάβετε μόνο τους συγκεκριμένους αριθμούς. Για παράδειγμα, για να εξάγετε δεδομένα από την 1η και την 3η στήλη, χρησιμοποιήστε {1,3}.

    Η λειτουργία FILTER του Excel δεν λειτουργεί

    Σε περίπτωση που ο τύπος FILTER του Excel σας καταλήξει σε σφάλμα, το πιθανότερο είναι ότι θα είναι ένα από τα ακόλουθα:

    #CALC! σφάλμα

    Εμφανίζεται εάν η προαιρετική if_empty Ο λόγος είναι ότι προς το παρόν το Excel δεν υποστηρίζει τους άδειους πίνακες. Για να αποφύγετε τέτοια σφάλματα, φροντίστε να ορίζετε πάντα το πεδίο if_empty τιμή στους τύπους σας.

    #VALUE σφάλμα

    Εμφανίζεται όταν το array και περιλαμβάνουν έχουν ασύμβατες διαστάσεις.

    #N/A, #VALUE, κ.λπ.

    Διαφορετικά σφάλματα μπορεί να εμφανιστούν εάν κάποια τιμή στο περιλαμβάνουν το όρισμα είναι σφάλμα ή δεν μπορεί να μετατραπεί σε τιμή Boolean.

    #NAME σφάλμα

    Εμφανίζεται όταν προσπαθείτε να χρησιμοποιήσετε το FILTER σε μια παλαιότερη έκδοση του Excel. Να θυμάστε ότι πρόκειται για μια νέα λειτουργία, η οποία είναι διαθέσιμη μόνο στο Office 365 και στο Excel 2021.

    Στο νέο Excel, εμφανίζεται ένα σφάλμα #NAME αν κατά λάθος γράψετε λάθος το όνομα της συνάρτησης.

    #SPILL σφάλμα

    Τις περισσότερες φορές, αυτό το σφάλμα εμφανίζεται εάν ένα ή περισσότερα κελιά στην περιοχή διαρροής δεν είναι εντελώς κενά. Για να το διορθώσετε, απλώς διαγράψτε ή διαγράψτε μη κενά κελιά. Για να διερευνήσετε και να επιλύσετε άλλες περιπτώσεις, ανατρέξτε στην ενότητα Σφάλμα #SPILL! στο Excel: τι σημαίνει και πώς να το διορθώσετε.

    #REF! σφάλμα

    Εμφανίζεται όταν χρησιμοποιείται ένας τύπος FILTER μεταξύ διαφορετικών βιβλίων εργασίας και το αρχικό βιβλίο εργασίας είναι κλειστό.

    Αυτός είναι ο τρόπος με τον οποίο μπορείτε να αρχειοθετήσετε δεδομένα στο Excel δυναμικά. Σας ευχαριστώ για την ανάγνωση και ελπίζω να σας δω στο blog μας την επόμενη εβδομάδα!

    Κατεβάστε το βιβλίο ασκήσεων

    Φίλτρο στο Excel με τύπους (.xlsx αρχείο)

    Ο Michael Brown είναι ένας αφοσιωμένος λάτρης της τεχνολογίας με πάθος για την απλοποίηση πολύπλοκων διαδικασιών χρησιμοποιώντας εργαλεία λογισμικού. Με περισσότερο από μια δεκαετία εμπειρίας στον κλάδο της τεχνολογίας, έχει βελτιώσει τις δεξιότητές του στο Microsoft Excel και το Outlook, καθώς και στα Φύλλα Google και στα Έγγραφα. Το blog του Michael είναι αφιερωμένο στο να μοιράζεται τη γνώση και την τεχνογνωσία του με άλλους, παρέχοντας εύκολες συμβουλές και σεμινάρια για τη βελτίωση της παραγωγικότητας και της αποτελεσματικότητας. Είτε είστε έμπειρος επαγγελματίας είτε αρχάριος, το ιστολόγιο του Michael προσφέρει πολύτιμες πληροφορίες και πρακτικές συμβουλές για να αξιοποιήσετε στο έπακρο αυτά τα βασικά εργαλεία λογισμικού.