Πίνακας περιεχομένων
Το COUNTIF στο Excel χρησιμοποιείται για την καταμέτρηση του αριθμού των κελιών σε μια περιοχή που πληρούν τη δεδομένη συνθήκη. Σε αυτό το άρθρο, θα σας δείξουμε πώς να χρησιμοποιήσετε τη συνάρτηση COUNTIF συνάρτηση στο Excel με VBA macro.
Λήψη βιβλίου εργασίας
Μπορείτε να κατεβάσετε το δωρεάν βιβλίο ασκήσεων Excel από εδώ.
Συνάρτηση COUNTIF με VBA.xlsm
Συνάρτηση COUNTIF στο Excel
- Σύνταξη
WorksheetFunction.CountIf( Arg1 Ως εύρος, Arg2 ) As Double
- Παράμετροι
Παράμετρος | Υποχρεωτικό/ Προαιρετικό | Τύπος δεδομένων | Περιγραφή |
---|---|---|---|
Arg1 | Απαιτούμενο | Εύρος | Το εύρος των κυττάρων από τα κύτταρα μέτρησης. |
Arg2 | Απαιτούμενο | Παραλλαγή | Ένας αριθμός, μια έκφραση, μια αναφορά κελιού ή ένα κείμενο που ορίζει ποια κελιά θα μετράτε. Για παράδειγμα, η έκφραση μπορεί να είναι 20, "20", ">20", "fruit" ή B2. |
- Τύπος επιστροφής
Αξία ως Double
6 παραδείγματα χρήσης της συνάρτησης COUNTIF στο Excel με VBA
Σε αυτή την ενότητα, θα μάθετε πώς να χρησιμοποιείτε το COUNTIF συνάρτηση στο Excel για να μετράτε κείμενα, αριθμούς κ.λπ. VBA κωδικός.
1. WorksheetFunction με COUNTIF στο Excel VBA
του Excel WorksheetFunction μπορεί να χρησιμοποιηθεί για να καλέσει τις περισσότερες από τις άλλες συναρτήσεις του Excel που είναι διαθέσιμες μέσα από το η λειτουργία Insert παράθυρο διαλόγου στο Excel και το COUNTIF είναι μία από αυτές τις λειτουργίες.
Με το παραπάνω παράδειγμα, θα μάθουμε πώς να χρησιμοποιούμε το WorksheetFunction με COUNTIF για να μετρήσετε δεδομένα με VBA στο Excel.
Βήματα:
- Τύπος Alt + F11 στο πληκτρολόγιό σας ή πηγαίνετε στην καρτέλα Προγραμματιστής -> Visual Basic για να ανοίξετε Visual Basic Editor .
- Στο αναδυόμενο παράθυρο κώδικα, από τη γραμμή μενού, κάντε κλικ στην επιλογή Εισαγωγή -> Ενότητα .
- Αντιγράψτε τον ακόλουθο κώδικα και επικολλήστε τον στο παράθυρο κώδικα.
Sub ExCOUNTIF() Range("B13") = Application.WorksheetFunction.CountIf(Range("B5:B10"), "<3") End Sub
Ο κώδικάς σας είναι τώρα έτοιμος για εκτέλεση.
- Τύπος F5 στο πληκτρολόγιό σας ή από τη γραμμή μενού επιλέξτε Εκτέλεση -> Εκτέλεση Sub/UserForm Μπορείτε επίσης να κάνετε κλικ στο μικρό εικονίδιο Play στη γραμμή υπομενού για να εκτελέσετε τη μακροεντολή.
Θέλαμε να μάθουμε πόσοι αριθμοί υπάρχουν στο σύνολο δεδομένων μας που είναι μικρότεροι από 3. Έτσι, μετά την εκτέλεση του κώδικα πήραμε το αποτέλεσμα 4 που είναι ο αριθμός των αριθμών που είναι μικρότεροι από 3 για το σύνολο δεδομένων μας.
Διαβάστε περισσότερα: Πώς να χρησιμοποιήσετε το COUNTIF μεταξύ δύο αριθμών (4 μέθοδοι)
2. Συνάρτηση COUNTIF για την καταμέτρηση ενός συγκεκριμένου κειμένου στο Excel
Αν θέλετε να μετρήσετε οποιοδήποτε συγκεκριμένο κείμενο, όπως πόσες πόλεις ή ονόματα ή τρόφιμα κ.λπ. υπάρχουν σε ένα φύλλο του Excel, τότε μπορείτε να χρησιμοποιήσετε την εντολή COUNTIF λειτουργία στο VBA .
Από το παραπάνω παράδειγμα, θα μάθουμε πώς να χρησιμοποιούμε την εντολή COUNTIF για να μετρήσετε πόσες φορές το όνομα John εμφανίζεται στο σύνολο δεδομένων μας με VBA macro.
Βήματα:
- Με τον ίδιο τρόπο όπως και πριν, ανοίξτε Visual Basic Editor από το Προγραμματιστής και Εισαγωγή a Ενότητα στο παράθυρο κώδικα.
- Στο παράθυρο κώδικα, αντιγράψτε τον ακόλουθο κώδικα και επικολλήστε τον.
Sub CountifText() 'input countName = WorksheetFunction.CountIf(Range("B5:B10"), "John") 'output Range("E7") = countName End Sub
Ο κώδικάς σας είναι τώρα έτοιμος για εκτέλεση.
- Εκτέλεση τη μακροεντολή και θα λάβετε τη συνολική καταμέτρηση.
Αν δεν θέλετε να γράψετε το κείμενο απευθείας στον κώδικά σας, τότε μπορείτε να το αποθηκεύσετε πρώτα σε μια μεταβλητή και αργότερα να περάσετε τη μεταβλητή μέσα στον κώδικα. Όπως ακριβώς ο παρακάτω κώδικας,
Sub CountifText() 'input Name = Range("E6") countName = WorksheetFunction.CountIf(Range("B5:B10"), Name) 'output Range("E7") = countName End Sub
Διαβάστε περισσότερα: Καταμέτρηση κειμένου στην αρχή με τις συναρτήσεις COUNTIF & amp; LEFT στο Excel
3. Συνάρτηση COUNTIF για τον υπολογισμό αριθμού με VBA
Μπορείτε να χρησιμοποιήσετε το COUNTIF συνάρτηση για την εξαγωγή ορισμένων αποτελεσμάτων.
Από το παραπάνω παράδειγμα, θα μάθουμε πώς να χρησιμοποιούμε την εντολή COUNTIF για να μετρήσουμε πόσοι αριθμοί υπάρχουν στο σύνολο δεδομένων μας που είναι μεγαλύτερο από 1,1 με VBA macro.
Βήματα:
- Με τον ίδιο τρόπο όπως και πριν, ανοίξτε Visual Basic Editor από το Προγραμματιστής και Εισαγωγή a Ενότητα στο παράθυρο κώδικα.
- Στο παράθυρο κώδικα, αντιγράψτε τον ακόλουθο κώδικα και επικολλήστε τον.
Sub CountifNumber() 'input countNum = WorksheetFunction.CountIf(Range("B5:B10"), ">1.1") 'output Range("E7") = countNum End Sub
Ο κώδικάς σας είναι τώρα έτοιμος για εκτέλεση.
- Εκτέλεση τη μακροεντολή και θα λάβετε τη συνολική καταμέτρηση.
Όπως συζητήθηκε προηγουμένως, αν δεν θέλετε να γράψετε τον αριθμό απευθείας στον κώδικά σας, τότε μπορείτε να τον αποθηκεύσετε πρώτα σε μια μεταβλητή και αργότερα να περάσετε τη μεταβλητή μέσα στον κώδικα. Όπως ακριβώς στον παρακάτω κώδικα,
Sub CountifNumber() 'input Num = Range("E6") countNum = WorksheetFunction.CountIf(Range("B5:B10"), ">" & Num) 'output Range("E7") = countNum End Sub
Διαβάστε περισσότερα: Excel COUNTIF με κριτήρια Μεγαλύτερο από και Μικρότερο από
Παρόμοιες αναγνώσεις
- Λειτουργία COUNTIF του Excel για την καταμέτρηση κελιών μεγαλύτερων από 0
- Πώς να χρησιμοποιείτε τις συναρτήσεις IF και COUNTIF μαζί στο Excel
- Excel COUNTIF για να μετρήσετε το κελί που περιέχει κείμενο από άλλο κελί
- Πώς να χρησιμοποιήσετε τη συνάρτηση COUNTIF για τον υπολογισμό του ποσοστού στο Excel
4. Συνάρτηση COUNTIF με ένα εύρος αντικειμένων στο Excel
Μπορείτε να αναθέσετε μια ομάδα κελιών στο Εύρος αντικειμένου και στη συνέχεια χρησιμοποιήστε το Εύρος αντικειμένου για την καταμέτρηση τιμών στο Excel.
Βήματα:
- Ανοίξτε το Visual Basic Editor από το Προγραμματιστής και Εισαγωγή a Ενότητα στο παράθυρο κώδικα.
- Στο παράθυρο κώδικα, αντιγράψτε τον ακόλουθο κώδικα και επικολλήστε τον.
Sub ExCountIFRange() Dim iRng As Range 'εκχωρήστε την περιοχή κελιών Set iRng = Range("B5:B10") 'χρησιμοποιήστε την περιοχή στον τύπο Range("B13") = WorksheetFunction.SumIf(iRng, ">1") 'απελευθερώστε το αντικείμενο της περιοχής Set iRng = Nothing End Sub
Ο κώδικάς σας είναι τώρα έτοιμος για εκτέλεση.
- Εκτέλεση τον κώδικα και θα λάβετε τη συνολική καταμέτρηση με μια τιμή άθροισης.
Διαβάστε περισσότερα: Πώς να χρησιμοποιήσετε το COUNTIF για μη συνεχόμενη περιοχή στο Excel
5. Μέθοδος τύπου COUNTIF στο Excel
Μπορείτε επίσης να χρησιμοποιήσετε το Φόρμουλα ή/και ΤύποςR1C1 μέθοδο για να εφαρμόσετε ένα COUNTIF σε ένα κελί στο VBA Αυτές οι μέθοδοι είναι πιο ευέλικτες για την εκτέλεση τέτοιων εργασιών.
5.1. Μέθοδος τύπου
Η φόρμουλα μέθοδος επιτρέπει τον προσδιορισμό της περιοχής των κελιών ως B5:B10 όπως φαίνεται παρακάτω στο παράδειγμα.
Βήματα:
- Στο παράθυρο κώδικα του Visual Basic Editor , αντιγράψτε τον ακόλουθο κώδικα και επικολλήστε τον.
Option Explicit Sub ExCountIfFormula() Range("B13").Formula = "=COUNTIF(B5:B10, "">1"")" End Sub
Ο κώδικάς σας είναι τώρα έτοιμος για εκτέλεση.
Αυτό το κομμάτι κώδικα θα σας δώσει τη συνολική καταμέτρηση των δεδομένων που χρειάζεστε.
5.2. Μέθοδος FormulaR1C1
Ο τύποςR1C1 μέθοδος είναι πιο ευέλικτη, καθώς δεν περιορίζεται σε ένα καθορισμένο εύρος κελιών.
Με το ίδιο σύνολο δεδομένων, θα μάθουμε τώρα πώς να χρησιμοποιούμε ΤύποςR1C1 για να μετρήσει τις τιμές στο VBA .
Βήματα:
- Στο παράθυρο κώδικα του Visual Basic Editor , αντιγράψτε τον ακόλουθο κώδικα και επικολλήστε τον.
Option Explicit Sub ExCountIfFormulaRC() Range("B13").FormulaR1C1 = "=COUNTIF(R[-8]C:R[-1]C,"">2"")" End Sub
Ο κώδικάς σας είναι τώρα έτοιμος για εκτέλεση.
Αυτός ο κώδικας θα σας δώσει επίσης τη συνολική καταμέτρηση των δεδομένων που χρειάζεστε.
Αν δεν θέλετε να ορίσετε το εύρος εξόδου, τότε μπορείτε να κάνετε αυτόν τον κώδικα ακόμα πιο ευέλικτο γράφοντας ως εξής,
Option Explicit Sub ExCountIfFormulaRC() ActiveCell.FormulaR1C1 = "=COUNTIF(R[-8]C:R[-1]C,"">2"")" End Sub
Ο τύπος θα μετρήσει τα κελιά που πληρούν τη συνθήκη και θα τοποθετήσει την απάντηση στο πεδίο ActiveCell στο φύλλο εργασίας σας. Το εύρος μέσα στο COUNTIF συνάρτηση πρέπει να αναφέρεται με τη χρήση του Σειρά (R) και Στήλη (C) σύνταξη.
Διαβάστε περισσότερα: Πώς να εφαρμόσετε COUNTIF μεταξύ δύο τιμών κελιών στο Excel
6. Ανάθεση του αποτελέσματος της συνάρτησης COUNTIF σε μια μεταβλητή
Αν θέλετε να χρησιμοποιήσετε το αποτέλεσμα του τύπου σας αλλού και όχι στο σύνολο δεδομένων του Excel, μπορείτε να εκχωρήσετε το αποτέλεσμα σε μια μεταβλητή και να το χρησιμοποιήσετε αργότερα στον κώδικά σας.
Το VBA ο κώδικας γι' αυτό είναι,
Sub AssignCountIfVariable() Dim iResult As Double 'Αναθέτουμε τη μεταβλητή iResult = Application.WorksheetFunction.CountIf(Range("B5:B10"), "<3") 'Εμφανίζουμε το αποτέλεσμα MsgBox "The count of cells with value less than 3 is " & iResult End Sub
Το αποτέλεσμα θα εμφανιστεί στο πλαίσιο μηνυμάτων του Excel.
Διαβάστε περισσότερα: Παράδειγμα COUNTIF Excel (22 παραδείγματα)
Συμπέρασμα
Αυτό το άρθρο σας έδειξε πώς να χρησιμοποιήσετε το COUNTIF συνάρτηση στο Excel με VBA Ελπίζω αυτό το άρθρο να σας ήταν πολύ χρήσιμο. Μη διστάσετε να ρωτήσετε αν έχετε οποιεσδήποτε ερωτήσεις σχετικά με το θέμα.