Excel: καταμέτρηση κελιών που περιέχουν συγκεκριμένο κείμενο (ακριβής και μερική αντιστοίχιση)

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

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

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

    Πώς να μετρήσετε τα κελιά με συγκεκριμένο κείμενο στο Excel

    Το Microsoft Excel διαθέτει μια ειδική συνάρτηση για την υπό όρους καταμέτρηση κελιών, τη συνάρτηση COUNTIF. Το μόνο που έχετε να κάνετε είναι να παρέχετε τη συμβολοσειρά κειμένου-στόχου στην εντολή κριτήρια επιχείρημα.

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

    COUNTIF(range, " κείμενο ")

    Το ακόλουθο παράδειγμα το δείχνει σε δράση. Ας υποθέσουμε ότι έχετε μια λίστα με αναγνωριστικά στοιχείων στο A2:A10 και θέλετε να μετρήσετε τον αριθμό των κελιών με ένα συγκεκριμένο αναγνωριστικό, ας πούμε "AA-01". Πληκτρολογήστε αυτή τη συμβολοσειρά στο δεύτερο όρισμα και θα λάβετε αυτόν τον απλό τύπο:

    =COUNTIF(A2:A10, "AA-01")

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

    =COUNTIF(A2:A10, D1)

    Σημείωση. Η συνάρτηση COUNTIF του Excel είναι case-insensitive Για να αντιμετωπίσετε διαφορετικά τους κεφαλαίους και τους πεζούς χαρακτήρες, χρησιμοποιήστε αυτόν τον τύπο με ευαισθησία στην πεζότητα.

    Πώς να μετρήσετε τα κελιά με συγκεκριμένο κείμενο (μερική αντιστοίχιση)

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

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

    Μετρήστε τα κελιά που περιέχουν συγκεκριμένο κείμενο στο πολύ αρχή :

    COUNTIF(range, " κείμενο *")

    Μετρήστε τα κελιά που περιέχουν συγκεκριμένο κείμενο σε οποιαδήποτε θέση :

    COUNTIF(range, "* κείμενο *")

    Για παράδειγμα, για να βρείτε πόσα κελιά στην περιοχή A2:A10 αρχίζουν με "AA", χρησιμοποιήστε αυτόν τον τύπο:

    =COUNTIF(A2:A10, "AA*")

    Για να λάβετε τον αριθμό των κελιών που περιέχουν "AA" σε οποιαδήποτε θέση, χρησιμοποιήστε αυτό:

    =COUNTIF(A2:A10, "*AA*")

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

    Για να μετρήσετε τα κελιά που αρχίζουν με συγκεκριμένο κείμενο:

    =COUNTIF(A2:A10, D1& "*")

    Για να μετρήσετε κελιά με συγκεκριμένο κείμενο οπουδήποτε μέσα σε αυτά:

    =COUNTIF(A2:A10, "*"&D1&"*")

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

    Μετρήστε τα κελιά που περιέχουν συγκεκριμένο κείμενο (με ευαισθησία στην πεζότητα)

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

    Τύπος με ευαισθησία στην πεζότητα για την καταμέτρηση κελιών με συγκεκριμένο κείμενο (ακριβής αντιστοιχία)

    Για να μετρήσουμε τον αριθμό των κελιών με συγκεκριμένο κείμενο που αναγνωρίζει την περίπτωση κειμένου, θα χρησιμοποιήσουμε έναν συνδυασμό των συναρτήσεων SUMPRODUCT και EXACT:

    SUMPRODUCT(--EXACT(" κείμενο ", εύρος ))

    Πώς λειτουργεί αυτή η φόρμουλα:

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

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

    =SUMPRODUCT(--EXACT(D1, A2:A10))

    Τύπος με ευαισθησία στην πεζότητα για την καταμέτρηση κελιών με συγκεκριμένο κείμενο (μερική αντιστοίχιση)

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

    SUMPRODUCT(--(ISNUMBER(FIND(" κείμενο ", εύρος ))))

    Πώς λειτουργεί αυτή η φόρμουλα:

    • Η συνάρτηση FIND, η οποία είναι ευαίσθητη στην πεζότητα, αναζητά το κείμενο-στόχο σε κάθε κελί της περιοχής. Εάν επιτύχει, η συνάρτηση επιστρέφει τη θέση του πρώτου χαρακτήρα, διαφορετικά το σφάλμα #VALUE! Για λόγους σαφήνειας, δεν χρειάζεται να γνωρίζουμε την ακριβή θέση, οποιοσδήποτε αριθμός (σε αντίθεση με το σφάλμα) σημαίνει ότι το κελί περιέχει το κείμενο-στόχο.
    • Η συνάρτηση ISNUMBER χειρίζεται τον πίνακα αριθμών και σφαλμάτων που επιστρέφει η FIND και μετατρέπει τους αριθμούς σε TRUE και οτιδήποτε άλλο σε FALSE. Ένα διπλό μοναδιαίο (--) εξαναγκάζει τις λογικές τιμές σε μονάδες και μηδενικά.
    • Η SUMPRODUCT αθροίζει τον πίνακα των 1 και 0 και επιστρέφει τον αριθμό των κελιών που περιέχουν το καθορισμένο κείμενο ως μέρος του περιεχομένου τους.

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

    =SUMPRODUCT(--(ISNUMBER(FIND(D1, A2:A10))))

    Και αυτό επιστρέφει έναν αριθμό 3 (κελιά Α2, Α3 και Α6):

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

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

    Υποθέτοντας ότι έχετε έναν πίνακα με Αναγνωριστικά παραγγελιών στη στήλη Β και Ποσότητα στη στήλη C, όπως φαίνεται στην παρακάτω εικόνα. Προς το παρόν, σας ενδιαφέρουν μόνο οι ποσότητες μεγαλύτερες από 1 και φιλτράρατε τον πίνακα σας αναλόγως. Το ερώτημα είναι - πώς μετράτε τα φιλτραρισμένα κελιά με ένα συγκεκριμένο id;

    Τύπος για να μετρήσετε τα φιλτραρισμένα κελιά με συγκεκριμένο κείμενο (ακριβής αντιστοιχία)

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

    =SUMPRODUCT(SUBTOTAL(103, INDIRECT("A"&ROW(A2:A10))), --(B2:B10=F1)))

    =SUMPRODUCT(SUBTOTAL(103, OFFSET(A2:A10, ROW(A2:A10) - MIN(ROW(A2:A10)),,1))), --(B2:B10=F1))

    Όπου F1 είναι το κείμενο του δείγματος και B2:B10 είναι τα κελιά προς μέτρηση.

    Πώς λειτουργούν αυτοί οι τύποι:

    Στον πυρήνα και των δύο τύπων, πραγματοποιείτε 2 ελέγχους:

    1. Προσδιορίστε τις ορατές και τις κρυφές γραμμές. Για το σκοπό αυτό, χρησιμοποιείτε τη συνάρτηση SUBTOTAL με την εντολή function_num για να δώσετε όλες τις επιμέρους αναφορές κελιών στο SUBTOTAL, χρησιμοποιήστε είτε το INDIRECT (στον πρώτο τύπο) είτε ένα συνδυασμό των OFFSET, ROW και MIN (στο δεύτερο τύπο). Εφόσον στοχεύουμε στον εντοπισμό ορατών και κρυφών γραμμών, δεν έχει σημασία σε ποια στήλη θα γίνει η αναφορά (Α στο παράδειγμά μας). Το αποτέλεσμα αυτής της λειτουργίας είναι ένας πίνακας από 1 και 0, όπου οι μονάδες αντιπροσωπεύουν τις ορατές γραμμές.σειρές και μηδενικά - κρυφές σειρές.
    2. Εύρεση κελιών που περιέχουν δεδομένο κείμενο. Για το σκοπό αυτό, συγκρίνετε το κείμενο του δείγματος (F1) με την περιοχή κελιών (B2:B10). Το αποτέλεσμα αυτής της λειτουργίας είναι ένας πίνακας τιμών TRUE και FALSE, οι οποίες μετατρέπονται σε 1 και 0 με τη βοήθεια του διπλού μοναδιαίου τελεστή.

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

    Τύπος για την καταμέτρηση φιλτραρισμένων κελιών με συγκεκριμένο κείμενο (μερική αντιστοίχιση)

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

    =SUMPRODUCT(SUBTOTAL(103, INDIRECT("A"&ROW(A2:A10)))), --(ISNUMBER(FIND(F1, B2:B10))))

    =SUMPRODUCT(SUBTOTAL(103, OFFSET(A2:A10, ROW(A2:A10) - MIN(ROW(A2:A10)),,1)), --(ISNUMBER(FIND(F1, B2:B10))))

    Ως αποτέλεσμα, οι τύποι θα εντοπίσουν μια δεδομένη συμβολοσειρά κειμένου σε οποιαδήποτε θέση σε ένα κελί:

    Σημείωση. Η συνάρτηση SUBTOTAL με 103 στο function_num όρισμα, εντοπίζει όλα τα κρυφά κελιά, που έχουν φιλτραριστεί και κρυφτεί χειροκίνητα. Ως αποτέλεσμα, οι παραπάνω τύποι μετρούν μόνο ορατά κύτταρα ανεξάρτητα από τον τρόπο με τον οποίο αποκρύφθηκαν τα αόρατα κελιά. Για να αποκλείσετε μόνο τα κελιά που έχουν φιλτραριστεί αλλά να συμπεριλάβετε αυτά που έχουν αποκρυφτεί χειροκίνητα, χρησιμοποιήστε 3 για το function_num .

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

    Διαθέσιμες λήψεις

    Τύποι του Excel για την καταμέτρηση κελιών με συγκεκριμένο κείμενο

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