Πώς να χρησιμοποιήσετε τη λειτουργία FILTER του Google Sheets

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

Αν ο μόνος τρόπος που γνωρίζετε για τη δημιουργία ενός φίλτρου στο Google Sheets είναι το τυπικό εργαλείο, σας έχω μια έκπληξη :) Ελάτε να εξερευνήσετε μαζί μου τη λειτουργία FILTER. Υπάρχουν πολλές έτοιμες φόρμουλες που μπορείτε να δανειστείτε, μαζί με ένα νέο ισχυρό εργαλείο που συμπληρώνει εξαιρετικά το σύνολο εργαλείων φιλτραρίσματος.

Πριν από λίγο καιρό εξηγήσαμε πώς να φιλτράρετε στο Google Sheets χρησιμοποιώντας το τυπικό εργαλείο. Αναφέραμε πώς να φιλτράρετε ανά τιμή και ανά συνθήκη. Ωστόσο, τα λογιστικά φύλλα έχουν πάντα περισσότερα μέσα τους από όσα γνωρίζουμε. Και αυτή τη φορά θα εξερευνήσω μαζί σας τη λειτουργία FILTER του Google Sheets.

Δεν θα το βρείτε στο Excel, οπότε σίγουρα αξίζει να το ελέγξετε.

    Σύνταξη της συνάρτησης FILTER του Google Sheets

    Το FILTER στο Google Sheets σαρώνει τα δεδομένα σας και επιστρέφει τις απαιτούμενες πληροφορίες που πληρούν τα κριτήριά σας.

    Σε αντίθεση με το τυπικό φίλτρο του Google Sheets, η συνάρτηση δεν κάνει τίποτα με τα αρχικά σας δεδομένα. Αντιγράφει τις γραμμές που βρέθηκαν και τις τοποθετεί εκεί όπου δημιουργείτε τον τύπο.

    Η σύνταξη είναι αρκετά εύκολη αφού κάθε όρισμα μιλάει από μόνο του:

    =FILTER(range, condition1, [condition2, ...])
    • εύρος είναι τα δεδομένα που θέλετε να φιλτράρετε. Απαιτείται.
    • condition1 είναι μια στήλη ή γραμμή μαζί με τα κριτήρια TRUE/FALSE στα οποία πρέπει να εμπίπτει. Απαιτείται.
    • condition2,... , κ.λπ., αντιπροσωπεύουν άλλες στήλες/σειρές ή/και άλλα κριτήρια. Προαιρετικά.

    Σημείωση. κατάσταση θα πρέπει να έχει το ίδιο μέγεθος με το εύρος .

    Σημείωση: Εάν χρησιμοποιείτε πολλαπλές συνθήκες, θα πρέπει όλες να είναι είτε για στήλες είτε για γραμμές. Η λειτουργία FILTER του Google Sheets δεν επιτρέπει μικτές συνθήκες.

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

    Πώς να χρησιμοποιήσετε τη λειτουργία FILTER στο Google Sheets

    Θα σας δείξω όλα τα παραδείγματα φιλτράροντας έναν μικρό πίνακα όπου παρακολουθώ κάποιες παραγγελίες:

    Ο πίνακας περιέχει 20 σειρές με διάφορους τύπους δεδομένων, οι οποίες είναι ιδανικές για την εκμάθηση της συνάρτησης.

    Πώς να φιλτράρετε στο Google Sheets με βάση το κείμενο

    Παράδειγμα 1. Το κείμενο είναι ακριβώς

    Πρώτον, θα ζητήσω από τη συνάρτηση να εμφανίζει μόνο τις παραγγελίες που έχουν καθυστέρηση. Εισάγω το εύρος για το φιλτράρισμα - A1:E20 - και στη συνέχεια ορίστε τη συνθήκη - στήλη E πρέπει να ισούται με Αργά :

    =FILTER(A1:E20,E1:E20="Late")

    Παράδειγμα 2. Το κείμενο δεν είναι ακριβώς

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

    =FILTER(A1:E20,E1:E20"Late")

    Παράδειγμα 3. Το κείμενο περιέχει

    Τώρα θα ήθελα να σας δείξω πώς να φτιάξετε τη συνάρτηση FILTER του Google Sheets με βάση τη μερική αντιστοίχιση. Ή με άλλα λόγια - αν το κείμενο περιέχει .

    Παρατηρήσατε ότι τα αναγνωριστικά παραγγελιών στη στήλη Α περιέχουν συντομογραφίες χωρών στο τέλος τους; Ας δημιουργήσουμε έναν τύπο για την ανάκτηση μόνο των παραγγελιών που έχουν αποσταλεί από τον Καναδά ( CA ).

    Κανονικά, θα χρησιμοποιούσατε χαρακτήρες μπαλαντέρ για αυτή την εργασία. Αλλά όταν πρόκειται για τον τύπο FILTER, οι λειτουργίες FIND και SEARCH λειτουργούν με αυτόν τον τρόπο.

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

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

    Η λειτουργία ΑΝΑΖΗΤΗΣΗ θα κάνει μια χαρά για το παράδειγμά μου, αφού η περίπτωση του κειμένου δεν έχει σημασία:

    =SEARCH(search_for, text_to_search, [starting_at])
    • search_for είναι το κείμενο που θέλω να βρω. Είναι πολύ σημαντικό να το τυλίξετε με διπλά εισαγωγικά: "ca" . Απαιτείται.
    • text_to_search είναι το εύρος που πρέπει να σαρώσει για το απαραίτητο κείμενο. Απαιτείται. A1:A20 για μένα.
    • starting_at υποδεικνύει τη θέση εκκίνησης για την αναζήτηση - τον αριθμό του χαρακτήρα από τον οποίο θα ξεκινήσει η αναζήτηση. Είναι εντελώς προαιρετικό, αλλά πρέπει να το χρησιμοποιήσω. Βλέπετε, όλα τα αναγνωριστικά παραγγελίας αποτελούνται από γράμματα και αριθμούς, δηλαδή ένα ζευγάρι από CA Το πανομοιότυπο μοτίβο όλων των αναγνωριστικών μου επιτρέπει να ψάξω για CA ξεκινώντας από τον 8ο χαρακτήρα.

    Αφού συγκεντρώσω όλα αυτά τα μέρη μαζί, έχω το επιθυμητό αποτέλεσμα:

    =FILTER(A1:E20,SEARCH("ca",A1:A20,8))

    Πώς να φιλτράρετε με βάση την ημερομηνία και την ώρα στο Google Sheets

    Το φιλτράρισμα με βάση την ημερομηνία και την ώρα απαιτεί επίσης τη χρήση πρόσθετων λειτουργιών. Ανάλογα με τα κριτήριά σας, μπορεί να χρειαστεί να ενσωματώσετε την ΗΜΕΡΑ, το ΜΗΝΑ, το ΕΤΟΣ ή ακόμη και την ΗΜΕΡΟΜΗΝΙΑ και την ΩΡΑ στην κύρια λειτουργία ΦΙΛΤΡΟΛΟΓΙΣΜΟΣ του Google Sheets.

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

    Παράδειγμα 1. Η ημερομηνία είναι

    Για να λάβω υπόψη μου τις παραγγελίες που πρέπει να γίνουν στις 9 Ιανουαρίου 2020, θα καλέσω τη λειτουργία DATE:

    =FILTER(A1:E20,C1:C20=DATE(2020,1,9))

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

    Αν ο χρόνος είναι εκεί και η αφαίρεσή του δεν είναι μια επιλογή, θα πρέπει να χρησιμοποιήσετε είτε QUERY ή μια πιο σύνθετη συνθήκη στη λειτουργία ΦΙΛΤΡΟΣ Google Sheets σας, όπως αυτό:

    =FILTER(A1:E20,C1:C20>=DATE(2020,1,9),C1:C20

    Συμβουλή. Μιλάω για τις πολλαπλές συνθήκες με περισσότερες λεπτομέρειες παρακάτω.

    Παράδειγμα 2. Η ημερομηνία περιέχει

    Αν σας ενδιαφέρει μόνο ένας συγκεκριμένος μήνας ή ένα έτος, μπορείτε να τα καταφέρετε με τις συναρτήσεις MONTH και YEAR. Βάλτε το εύρος με τις ημερομηνίες ακριβώς μέσα σε αυτό ( C1:C20 ) και καθορίστε τον αριθμό του μήνα (ή του έτους) με τον οποίο θα πρέπει να είναι ίσος ( =1 ):

    =FILTER(A1:E20,MONTH(C1:C20)=1)

    Παράδειγμα 3. Η ημερομηνία είναι πριν/μετά

    Για να λάβετε τα δεδομένα που εμπίπτουν πριν ή μετά την καθορισμένη ημερομηνία, θα χρειαστείτε τη συνάρτηση DATE και τελεστές σύγκρισης όπως μεγαλύτερο από (>), μεγαλύτερο ή ίσο με (>=), μικρότερο από (<), μικρότερο ή ίσο με (<=).

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

    =FILTER(A1:E20,D1:D20>=DATE(2020,1,1))

    Φυσικά, μπορείτε εύκολα να αντικαταστήσετε εδώ την ΗΜΕΡΟΜΗΝΙΑ με ΜΗΝΑΣ ή ΕΤΟΣ. Το αποτέλεσμα δεν θα διαφέρει από το παραπάνω:

    =FILTER(A1:E20,YEAR(D1:D20)>=2020)

    Παράδειγμα 4. Χρόνος

    Όταν φιλτράρετε στο Google Sheets με βάση τον χρόνο, η διαδικασία είναι ακριβώς η ίδια όπως και με τις ημερομηνίες. Χρησιμοποιείτε την πρόσθετη λειτουργία TIME.

    Για παράδειγμα, για να λάβετε μόνο τις ημέρες με χρονοσήμανση μετά τις 2:00 μ.μ., ο τύπος θα είναι:

    =FILTER(A1:B10,A1:A10>TIME(14,0,0))

    Ωστόσο, όταν πρόκειται να χρησιμοποιήσετε τη λειτουργία ΩΡΑ (όπως και τη λειτουργία ΜΗΝΑΣ για ημερομηνίες), το παιχνίδι αλλάζει λίγο. Ο χρόνος είναι αρκετά δύσκολος στα λογιστικά φύλλα, οπότε είναι απαραίτητες μερικές προσαρμογές.

    Για να επιστρέψετε όλες τις γραμμές με χρονοσφραγίδες μεταξύ 2:00 Μ.Μ. και 12:00 Μ.Μ. , κάντε αυτό:

    1. Κλείστε το εύρος με χρονοσφραγίδες ( A1:A10 ) σε μια ξεχωριστή συνάρτηση HOUR. Αυτό θα υποδείξει πού να ψάξετε.
    2. Στη συνέχεια, προσθέστε μια άλλη λειτουργία ΩΡΑ για να ρυθμίσετε την ίδια την ώρα.

    =FILTER(A1:B10,HOUR(A1:A10)>=HOUR("2:00:00 PM"))

    Συμβουλή. Βεβαιωθείτε ότι το αποτέλεσμα δεν περιλαμβάνει 12:41 Μ.Μ. Αυτό συμβαίνει επειδή το λογιστικό φύλλο το αντιμετωπίζει ως 00:41 η οποία είναι μικρότερη από 2:00 .

    Αν βρείτε μια πιο κομψή λύση, παρακαλούμε μοιραστείτε την στα σχόλια παρακάτω.

    Πώς να φιλτράρετε στο Google Sheets χρησιμοποιώντας αναφορές κελιών

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

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

    Θυμάστε πώς έψαξα για όλες τις παραγγελίες που έχουν καθυστερήσει; Μπορώ να ανατρέξω γρήγορα στο E4 με το κείμενο Αργά να κάνει το ίδιο:

    =FILTER(A1:E20,E1:E20=E4)

    Το αποτέλεσμα δεν θα διαφέρει καθόλου:

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

    =FILTER(A1:E20,C1:C20=C15)

    Συμβουλή. Οι αναφορές κελιών σας επιτρέπουν επίσης να φιλτράρετε από άλλο φύλλο. Πρέπει απλώς να φέρετε το όνομα του φύλλου:

    =FILTER(Orders!A1:E20,Orders!C1:C20=Orders!C15)

    Google Sheets Τύποι FILTER με πολλαπλά κριτήρια

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

    Παράδειγμα 1. Λογική IS BETWEEN

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

    Κοιτάξτε, θα επιστρέψω μόνο τις παραγγελίες που μου κόστισαν πάνω από 250 δολάρια αλλά κάτω από 350 δολάρια:

    =FILTER(A1:E20,B1:B20>=250,B1:B20<350)

    Παράδειγμα 2. Λογική OR στη συνάρτηση FILTER του Google Sheets

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

    Αν δοκιμάσω την προηγούμενη μέθοδο και εισαγάγω κάθε κατάσταση παραγγελίας σε ξεχωριστή συνθήκη, θα λάβω το σφάλμα #N/A:

    Έτσι, για να ορίσω σωστά τη λογική Ή στη συνάρτηση FILTER, θα πρέπει να αθροίσω αυτά τα δύο κριτήρια σε μία συνθήκη:

    =FILTER(A1:E20,(E1:E20="Αργά")+(E1:E20="Καθ' οδόν"))

    Προσθήκη φίλτρου στο Google Sheets σε πολλαπλές στήλες

    Αυτό που είναι ακόμη πιο πιθανό από την εφαρμογή μερικών όρων σε μια στήλη είναι η δημιουργία ενός φίλτρου στο Google Sheets για πολλές στήλες.

    Τα ορίσματα είναι όλα τα ίδια. Αλλά κάθε νέο μέρος του τύπου απαιτεί ένα νέο εύρος με τα δικά του κριτήρια.

    Ας προσπαθήσουμε να κάνουμε τη συνάρτηση FILTER στο Google Sheets να επιστρέφει εντολές που εμπίπτουν σε όλους τους ακόλουθους κανόνες:

    1. Θα πρέπει να αξίζουν 200-400 δολάρια:

      A1:E20,B1:B20>=200,B1:B20<=400

    2. Οφείλονται τον Ιανουάριο του 2020:

      ΜΉΝΑΣ(C1:C20)=1

    3. Και εξακολουθούν να βρίσκονται καθ' οδόν:

      E1:E20="καθ' οδόν"

    Βάλτε όλα αυτά τα μέρη μαζί και ο τύπος φίλτρου του Google Sheets για πολλαπλές στήλες είναι έτοιμος:

    =FILTER(A1:E20,B1:B20>=200,B1:B20<=400,MONTH(C1:C20)=1,E1:E20="on the way")

    Τρόπος χωρίς τύπους για προηγμένο φίλτρο Google Sheets

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

    Ευτυχώς, έχουμε μια καλύτερη λύση που ξεπερνά τόσο τη λειτουργία FILTER του Google Sheets όσο και το τυπικό εργαλείο του - Multiple VLOOKUP Matches.

    Μην σας μπερδεύει το όνομά της. Μοιάζει με τη συνάρτηση VLOOKUP του Google Sheets, επειδή αναζητά αντιστοιχίες. Όπως ακριβώς κάνει και η συνάρτηση FILTER. Όπως έκανα και εγώ παραπάνω.

    Εδώ είναι 5 κύρια πλεονεκτήματα του εργαλείου πάνω από τη λειτουργία FILTER του Google Sheets:

    1. Δεν θα χρειάζεται να σκέφτεστε χειριστές για διαφορετικές συνθήκες - Απλά διαλέξτε το ένα από τη λίστα:

  • Εισάγετε ημερομηνίες και ώρα όπως κάνετε πάντα σε υπολογιστικά φύλλα - όχι άλλες ειδικές λειτουργίες:
  • Δημιουργία και διαγραφή πολλαπλές συνθήκες για το πολλαπλές στήλες πραγματικά γρήγορα :
  • Προεπισκόπηση του αποτελέσματος και προσαρμόστε τις συνθήκες (αν χρειάζεται) πριν επικολλήσετε τα πάντα στο φύλλο σας:
  • Λάβετε το αποτέλεσμα ως τιμές ή ως ένα έτοιμο τύπος .
  • Σας ενθαρρύνω πραγματικά να εγκαταστήσετε το Multiple VLOOKUP Matches και να το δοκιμάσετε. Για να δείτε τις επιλογές του από κοντά, επισκεφθείτε τη σελίδα με τα σεμινάρια ή παρακολουθήστε ένα ειδικό εκπαιδευτικό βίντεο:

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