Excel COUNTIF και COUNTIFS με λογική OR

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

Το σεμινάριο εξηγεί πώς να χρησιμοποιείτε τις συναρτήσεις COUNTIF και COUNTIFS του Excel για να μετράτε κελιά με πολλαπλές συνθήκες OR, π.χ. αν ένα κελί περιέχει X, Y ή Z.

Όπως όλοι γνωρίζουν, η συνάρτηση COUNTIF του Excel έχει σχεδιαστεί για να μετράει τα κελιά με βάση ένα μόνο κριτήριο, ενώ η COUNTIFS αξιολογεί πολλαπλά κριτήρια με λογική AND. Τι γίνεται όμως αν η εργασία σας απαιτεί λογική OR - όταν παρέχονται πολλές συνθήκες, οποιαδήποτε από αυτές μπορεί να ταιριάζει για να συμπεριληφθεί στην καταμέτρηση;

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

Συνάρτηση COUNTIF του Excel - μετράει τα κελιά με ένα κριτήριο.

Συνάρτηση COUNTIFS του Excel - μετράει τα κελιά με πολλαπλά κριτήρια AND.

Τώρα που όλοι είναι στην ίδια σελίδα, ας ξεκινήσουμε:

    Καταμέτρηση κελιών με συνθήκες OR στο Excel

    Αυτή η ενότητα καλύπτει το απλούστερο σενάριο - καταμέτρηση των κελιών που πληρούν οποιαδήποτε (τουλάχιστον μία) από τις καθορισμένες συνθήκες.

    Τύπος 1. COUNTIF + COUNTIF

    Ο ευκολότερος τρόπος για να μετρήσετε τα κελιά που έχουν τη μία ή την άλλη τιμή (Countif a ή b ) είναι να γράψετε έναν κανονικό τύπο COUNTIF για να μετρήσετε κάθε στοιχείο ξεχωριστά και, στη συνέχεια, να προσθέσετε τα αποτελέσματα:

    COUNTIF( εύρος , κριτήριο1 ) + COUNTIF( εύρος , κριτήριο2 )

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

    =COUNTIF(A:A, "μήλα") + COUNTIF(A:A, "μπανάνες")

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

    =COUNTIF(A2:A10, F1) + COUNTIF(A2:A10, G1)

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

    Τύπος 2. COUNTIF με σταθερά συστοιχίας

    Ακολουθεί μια πιο συμπαγής έκδοση του τύπου SUMIF με συνθήκες OR στο Excel:

    SUM(COUNTIF( εύρος , { κριτήριο1 , κριτήριο2 , κριτήριο3 , ...}))

    Ο τύπος κατασκευάζεται ως εξής:

    Πρώτον, πακετάρετε όλες τις συνθήκες σε μια σταθερά πίνακα - τα μεμονωμένα στοιχεία διαχωρίζονται με κόμμα και ο πίνακας περικλείεται σε αγκύλες, όπως {"μήλα", "μπανάνες", "λεμόνια"}.

    Στη συνέχεια, συμπεριλαμβάνετε τη σταθερά του πίνακα στο κριτήρια όρισμα ενός κανονικού τύπου COUNTIF: COUNTIF(A2:A10, {"μήλα", "μπανάνες", "λεμόνια"})

    Τέλος, παραμορφώστε τον τύπο COUNTIF στη συνάρτηση SUM. Είναι απαραίτητο επειδή η COUNTIF θα επιστρέψει 3 μεμονωμένες μετρήσεις για τα "μήλα", τις "μπανάνες" και τα "λεμόνια" και πρέπει να προσθέσετε αυτές τις μετρήσεις μαζί.

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

    =SUM(COUNTIF(A2:A10,{"μήλα", "μπανάνες", "λεμόνια"}))

    Εάν προτιμάτε να παρέχετε τα κριτήριά σας ως αναφορές εύρους , θα πρέπει να εισαγάγετε τον τύπο με Ctrl + Shift + Enter για να τον κάνετε τύπο συστοιχίας. Για παράδειγμα:

    =SUM(COUNTIF(A2:A10,F1:H1))

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

    Τύπος 3. SUMPRODUCT

    Ένας άλλος τρόπος για να μετρήσετε τα κελιά με τη λογική OR στο Excel είναι να χρησιμοποιήσετε τη συνάρτηση SUMPRODUCT με αυτόν τον τρόπο:

    SUMPRODUCT(1*( εύρος ={ κριτήριο1 , κριτήριο2 , κριτήριο3 , ...}))

    Για να γίνει καλύτερα αντιληπτή η λογική, αυτό θα μπορούσε επίσης να γραφτεί ως εξής:

    SUMPRODUCT(( εύρος = κριτήριο1 ) + ( εύρος = κριτήριο2 ) + ...)

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

    Ο πρώτος τύπος λειτουργεί με παρόμοιο τρόπο, με τη διαφορά ότι επιστρέφει έναν δισδιάστατο πίνακα τιμών TRUE και FALSE, τον οποίο πολλαπλασιάζετε με 1 για να μετατρέψετε τις λογικές τιμές σε 1 και 0, αντίστοιχα.

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

    =SUMPRODUCT(1*(A2:A10={"μήλα", "μπανάνες", "λεμόνια"}))

    Ή

    =SUMPRODUCT((A2:A10="μήλα") + (A2:A10="μπανάνες") + (A2:A10="λεμόνια"))

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

    =SUMPRODUCT(1*( A2:A10=F1:H1))

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

    Καταμέτρηση κελιών με λογική OR και AND

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

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

    • Στήλη Α: "μήλα" ή "μπανάνες" ή "λεμόνια"
    • Στήλη Γ: "παραδοτέα"

    Κοιτάζοντας από άλλη οπτική γωνία, πρέπει να μετρήσουμε τις γραμμές με "μήλα και παραδόθηκαν" Ή "μπανάνες και παραδόθηκαν" Ή "λεμόνια και παραδόθηκαν". Με αυτόν τον τρόπο, η εργασία συνοψίζεται στο να μετρήσουμε τα κελιά με 3 συνθήκες Ή - ακριβώς αυτό που κάναμε στην προηγούμενη ενότητα! Η μόνη διαφορά είναι ότι θα χρησιμοποιήσετε COUNTIFS αντί για COUNTIF για να αξιολογήσετε το κριτήριο AND μέσα σε κάθε συνθήκη Ή.

    Τύπος 1. COUNTIFS + COUNTIFS

    Είναι η μεγαλύτερη φόρμουλα, η οποία είναι και η πιο εύκολη στη συγγραφή :)

    =COUNTIFS(A2:A10, "μήλα", C2:C10, "παραδοτέα") + COUNTIFS(A2:A10, "μπανάνες", C2:C10, "παραδοτέα")) + COUNTIFS(A2:A10, "λεμόνια", C2:C10, "παραδοτέα"))

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

    =COUNTIFS(A2:A10, K1, C2:C10, K2) + COUNTIFS(A2:A10, L1, C2:C10, K2) + COUNTIFS(A2:A10, M1,C2:C10, K2)

    Τύπος 2. COUNTIFS με σταθερά συστοιχίας

    Ένας πιο συμπαγής τύπος COUNTIFS με λογική AND/OR μπορεί να δημιουργηθεί πακετάροντας τα κριτήρια OR σε μια σταθερά πίνακα:

    =SUM(COUNTIFS(A2:A10, {"μήλα", "μπανάνες", "λεμόνια"}, C2:C10, "παραδοτέα"))

    Όταν χρησιμοποιείτε μια αναφορά εύρους για τα κριτήρια, χρειάζεστε έναν τύπο συστοιχίας, ο οποίος συμπληρώνεται με το πάτημα των πλήκτρων Ctrl + Shift + Enter :

    =SUM(COUNTIFS(A2:A10,F1:H1,C2:C10,F2))

    Συμβουλή. Εάν χρειάζεται, μπορείτε να χρησιμοποιήσετε wildcards για παράδειγμα, για να μετρήσετε όλα τα είδη μπανάνας, όπως "πράσινες μπανάνες" ή "χρυσές μπανάνες", μπορείτε να χρησιμοποιήσετε αυτόν τον τύπο:

    =SUM(COUNTIFS(A2:A10, {"μήλα", "*μπανάνα*", "λεμόνια"}, C2:C10, "παραδοτέα"))

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

    =SUM(COUNTIFS(A2:A10, {"μήλα", "*μπανάνα*", "λεμόνια"}, C2:C10, "παραδοτέα", B2:B10, ">200"))

    Ή χρησιμοποιήστε αυτόν τον τύπο συστοιχίας (εισάγεται μέσω Ctrl + Shift + Enter ):

    =SUM(COUNTIFS(A2:A10,F1:H1,C2:C10,F2, B2:B10, ">"&F3))

    Καταμέτρηση κυττάρων με πολλαπλές συνθήκες OR

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

    Ανάλογα με το πόσες συνθήκες πρέπει να χειριστείτε, μπορείτε να χρησιμοποιήσετε είτε COUNTIFS με μια σταθερά πίνακα είτε SUMPRODUCT με ISNUMBER MATCH. Η πρώτη είναι σχετικά εύκολη στην κατασκευή, αλλά περιορίζεται σε μόνο 2 σύνολα συνθηκών OR. Η δεύτερη μπορεί να αξιολογήσει οποιονδήποτε αριθμό συνθηκών (ένας λογικός αριθμός, φυσικά, δεδομένου του περιορισμού του Excel σε 255 ορίσματα και 8192 χαρακτήρες στο συνολικό μήκος του τύπου),αλλά μπορεί να χρειαστεί κάποια προσπάθεια για να κατανοήσετε τη λογική του τύπου.

    Καταμέτρηση κυττάρων με 2 σύνολα συνθηκών OR

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

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

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

    =SUM(COUNTIFS(A2:A10, {"μήλα", "μπανάνες", "λεμόνια"}, B2:B10, {"παραδοτέα"; "υπό μεταφορά"}))

    Προσέξτε την άνω τελεία στη δεύτερη σταθερά του πίνακα:

    Επειδή το Excel είναι ένα πρόγραμμα 2 διαστάσεων, δεν είναι δυνατή η κατασκευή ενός πίνακα 3 ή 4 διαστάσεων, και επομένως αυτός ο τύπος λειτουργεί μόνο για δύο σύνολα κριτηρίων OR. Για να μετρήσετε με περισσότερα κριτήρια, θα πρέπει να μεταβείτε σε έναν πιο σύνθετο τύπο SUMPRODUCT που εξηγείται στο επόμενο παράδειγμα.

    Καταμέτρηση κυττάρων με πολλαπλά σύνολα συνθηκών OR

    Για να μετρήσετε κελιά με περισσότερα από δύο σύνολα κριτηρίων OR, χρησιμοποιήστε τη συνάρτηση SUMPRODUCT σε συνδυασμό με τη συνάρτηση ISNUMBER MATCH.

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

    =SUMPRODUCT(ISNUMBER(MATCH(A2:A10,{"μήλα", "μπανάνες", "λεμόνια"},0))*

    ISNUMBER(MATCH(B2:B10,{"τσάντα", "δίσκος"},0))*

    ISNUMBER(MATCH(C2:C10,{"παραδοτέο", "υπό διαμετακόμιση"},0)))

    Στην καρδιά του τύπου, η συνάρτηση MATCH ελέγχει τα κριτήρια συγκρίνοντας κάθε κελί στην καθορισμένη περιοχή με την αντίστοιχη σταθερά του πίνακα. Εάν βρεθεί η αντιστοιχία, επιστρέφει μια σχετική θέση της τιμής εάν ο πίνακας, N/A διαφορετικά. Η ISNUMBER μετατρέπει αυτές τις τιμές σε TRUE και FALSE, οι οποίες ισοδυναμούν με 1 και 0, αντίστοιχα. Η SUMPRODUCT συνεχίζει από εκεί και πολλαπλασιάζει τις τιμές των πινάκωνΕπειδή ο πολλαπλασιασμός με το μηδέν δίνει μηδέν, μόνο τα κελιά που έχουν 1 σε όλους τους πίνακες επιβιώνουν και αθροίζονται.

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

    Με αυτόν τον τρόπο χρησιμοποιείτε τις συναρτήσεις COUNTIF και COUNTIFS στο Excel για να μετρήσετε τα κελιά με πολλαπλές συνθήκες AND καθώς και OR. Για να ρίξετε μια πιο προσεκτική ματιά στους τύπους που αναλύονται σε αυτό το σεμινάριο, μπορείτε να κατεβάσετε το δείγμα του βιβλίου εργασίας μας παρακάτω. Σας ευχαριστώ για την ανάγνωση και ελπίζω να σας δω στο blog μας την επόμενη εβδομάδα!

    Βιβλίο ασκήσεων

    Excel COUNTIF με συνθήκες OR - παραδείγματα (.xlsx αρχείο)

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