Summary

To count cells that are not blank, you can use the COUNTA function. In the example shown, F6 contains this formula:

=COUNTA(C5:C16)

The result is 9, since nine cells in the range C5:C16 contain values.

Generic formula

=COUNTA(range)

Explanation 

In this example, the goal is to count cells in a range that are not blank (i.e. not empty). There are several ways to go about this task, depending on your needs. The article below explains different approaches.

COUNTA function

While the COUNT function only counts numbers, the COUNTA function counts both numbers and text. This means you can use COUNTA as a simple way to count cells that are not blank. In the example shown, the formula in F6 uses COUNTA like this:

=COUNTA(C5:C16) // returns 9

Since there are nine cells in the range C5:C16 that contain values, COUNTA returns 9. COUNTA is fully automatic, so there is nothing to configure.

COUNTIFS function

You can also use the COUNTIFS function to count cells that are not blank like this:

=COUNTIFS(C5:C16,"<>") // returns 9

The "<>" operator means "not equal to" in Excel, so this formula literally means count cells not equal to nothing. Because COUNTIFS can handle multiple criteria, we can easily extend this formula to count cells that are not empty in Group "A" like this:

=COUNTIFS(B5:B16,"A",C5:C16,"<>") // returns 4

The first range/criteria pair selects cells that are in Group A only. The second range/criteria pair selects cells that are not empty. The result from COUNTIFS is 4, since there are 4 cells in Group A that are not empty. You can swap the order of the range/criteria pairs with the same result.

See also: 50 examples of formula criteria.

Counting empty strings ("")

One problem with COUNTA and COUNTIFS is that they will also count empty strings ("") returned by formulas as not blank, even though these cells are intended to be blank. For example, if A1 contains 21, this formula in B1 will return an empty string:

=IF(A1>30,"Overdue","")

However, COUNTA and COUNTIFS will still count B1 as not empty. If you run into this problem, you can use the SUMPRODUCT function to count cells that are not blank like this:

=SUMPRODUCT(--(C5:C16<>""))

Using SUMPRODUCT to count cells that are not blank

The expression C5:C16<>"" returns an array that contains 12 TRUE and FALSE values, and the double negative (--) converts the TRUE and FALSE values to 1s and 0s:

=SUMPRODUCT({1;1;0;1;1;0;1;1;1;0;1;1}) // returns 9

The result is 9 as before. But this formula will ignore empty strings ("") returned by formulas.

You can easily adjust the logic used in SUMPRODUCT with other functions as needed. For example, the variant below uses the LEN function to count cells that have a length greater than zero:

=SUMPRODUCT(--(LEN(C5:C16)>0)) // returns 9

You can extend the formula to count cells that are not blank in Group A like this:

=SUMPRODUCT((LEN(C5:C16)>0)*(B5:B16="A"))

This is an example of using Boolean algebra in a formula. The double negative is no longer needed in this case because the math operation of multiplying the two arrays together automatically converts the TRUE and FALSE values to 1s and 0s:

=SUMPRODUCT({1;1;0;1;1;0;0;0;0;0;0;0}) // returns 4

The final result is 4, since there are four cells in Group A that are not blank in C5:C16.

Note: in Excel 2021+, you can use the SUM function instead of SUMPRODUCT in the formula above with the same result. You can read more about this topic here: Why SUMPRODUCT?

Dave Bruns Profile Picture

AuthorMicrosoft Most Valuable Professional Award

Dave Bruns

Hi - I'm Dave Bruns, and I run Exceljet with my wife, Lisa. Our goal is to help you work faster in Excel. We create short videos, and clear examples of formulas, functions, pivot tables, conditional formatting, and charts.