Counts the number of cells in a range that meet a single criterion. Essential for conditional counting and data analysis.
Master the fundamentals of Excel COUNTIF function
COUNTIF counts cells that meet a single specified condition. It filters data by the criterion and returns the number of matching cells. Essential for frequency analysis, data validation, and conditional counting across spreadsheets. Unlike COUNT, it evaluates conditions before counting.
Filters by one condition
Supports various comparison operators
Works with both data types
Doesn't recalculate on change
Function-specific parameters
Function-specific return type
Count occurrences
Verify data entries
Count by performance
Count by category
Exact matching required
Returns numeric position
Handles missing text gracefully
=COUNTIF(range, criteria)The range of cells to count
Condition or criteria to apply to the range
Count of cells meeting the criteria
Description: Counts cells in range that meet criteria
Count values above threshold
Returns count of values exceeding 1000
Simple VBA implementation
' Basic COUNTIF in VBA
Sub COUNTIFExample()
Dim result As Long
result = Application.WorksheetFunction.CountIf(Range("A1:A100"), ">1000")
MsgBox "Count: " & result
End Sub
' Dynamic criteria
Sub CountByCriteria()
Dim ws As Worksheet
Set ws = ActiveSheet
Dim criteria As String
Dim result As Long
criteria = InputBox("Enter criteria (e.g., >1000)")
result = Application.CountIf(ws.Range("A1:A20"), criteria)
ws.Range("C1").Value = result
End Sub
' Frequency analysis
Sub FrequencyAnalysis()
Dim ws As Worksheet
Set ws = ActiveSheet
Dim categories() As String
Dim i As Integer
categories = Array("Widget", "Gadget", "Device")
For i = 0 To UBound(categories)
ws.Cells(i + 1, 2).Value = categories(i)
ws.Cells(i + 1, 3).Value = Application.CountIf(ws.Range("A1:A100"), categories(i))
Next i
End SubCount occurrences
Verify data entries
Count by threshold
Count by category
No cells match criteria
Check case sensitivity and operatorsSolution: Verify criteria syntax and data type
Criteria not matching as expected
Test criteria manually firstSolution: Use proper operators and wildcards
Case-insensitive by default
Use case-sensitive functions for exact matchSolution: COUNTIF treats "A" same as "a"
Asterisks not working
"*text*" not *text*Solution: Use quotes around wildcard criteria