Exceljet

Quick, clean, and to the point

Count unique values in a range with COUNTIF

Excel formula: Count unique values in a range with COUNTIF
Generic formula 
=SUMPRODUCT(1/COUNTIF(data,data))
Explanation 

If you need to count the number of unique values in a range of cells (named "data" in the example below), you can use a formula that uses COUNTIF and SUMPRODUCT.

How the formula works

Working from the inside out, COUNTIF looks inside the data range and counts the number of times that each individual value appears in data. The result is an array of numbers that might look something like this: {3;3;3;2;2;3;3;3;2;2}.

After COUNTIF is finished the results are used as a divisor with 1 as the numerator. Values that appear in data once appear in the array as 1, but values that appear multiple times will appear as fractional values that correspond to the mutliple. (i.e. a value that appears 5 times in data will generate 5 items in the array with a value of 1/5 = .2).

Finally, the SUMPRODUCT function sums all values in the array and returns the result.

Handling blank cells

If data might contain blank cells, you need to adjust the formula as follows:

=SUMPRODUCT(1/COUNTIF(data,data&""))

The data&"" expression prevents zeros from ending up in the array created by COUNTIF when there are blank cells in data. It does this by ensuring that the criteria for an empty cell is "", and not zero. This is important, because a zero in the divisor will throw a #DIV/0 error. So this version of the formula won't throw an error when there are blank cells, but it will include blank cells in the count. If you want to exclude blank cells in the count, use:

=SUMPRODUCT((data<>"")/COUNTIF(data,data&""))

Slow Performance?

This is a cool and elegant formula, but it calculates much more slowly than formulas that use FREQUENCY to count unique values. For larger data sets, you may want to switch to a formula based on the FREQUENCY function. Here's a formula for numeric values, and one for text values.

Author 
Dave Bruns

Excel Formula Training

Formulas are the key to getting work done in Excel. In this accelerated video course, you'll learn how to use formulas to manipulate text, work with dates and times, lookup values with VLOOKUP and INDEX & MATCH, count and sum with criteria, dynamically rank values, and create dynamic ranges. You'll also learn powerful skills to troubleshoot, trace errors, and fix problems. This is the formula training you should have had to begin with. See details here.

This is fantastic. I am working on a report and this is exactly what I needed. Thanks. -Diane
Excel foundational video course
Excel Pivot Table video training course
Excel conditional formatting video course
Excel formulas and functions video training course
Excel Shortcuts Video Course