Συνάρτηση VBA COUNTIF στο Excel (6 παραδείγματα)

  • Μοιραστείτε Αυτό
Hugh West

Το 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 Ελπίζω αυτό το άρθρο να σας ήταν πολύ χρήσιμο. Μη διστάσετε να ρωτήσετε αν έχετε οποιεσδήποτε ερωτήσεις σχετικά με το θέμα.

Ο Hugh West είναι ένας εξαιρετικά έμπειρος εκπαιδευτής και αναλυτής του Excel με πάνω από 10 χρόνια εμπειρίας στον κλάδο. Είναι κάτοχος πτυχίου Λογιστικής και Χρηματοοικονομικής και μεταπτυχιακού στη Διοίκηση Επιχειρήσεων. Ο Hugh έχει πάθος για τη διδασκαλία και έχει αναπτύξει μια μοναδική προσέγγιση διδασκαλίας που είναι εύκολο να ακολουθηθεί και να κατανοηθεί. Οι εξειδικευμένες γνώσεις του στο Excel έχουν βοηθήσει χιλιάδες φοιτητές και επαγγελματίες παγκοσμίως να βελτιώσουν τις δεξιότητές τους και να διαπρέψουν στην καριέρα τους. Μέσω του ιστολογίου του, ο Hugh μοιράζεται τις γνώσεις του με τον κόσμο, προσφέροντας δωρεάν μαθήματα Excel και διαδικτυακή εκπαίδευση για να βοηθήσει άτομα και επιχειρήσεις να αξιοποιήσουν πλήρως τις δυνατότητές τους.