# 7 Amazing Ways to Count Unique Values in Excel (Formula)

- Written by Puneet

Let’s say you have a list of values where each value is entered more than once.

And now…

You want to count unique values from that list so that you can get the actual numbers of values that are there.

For this, you need to use a method that will count value only one time and ignore it’s all the other occurrences in the list.

In Excel, you can use different methods to get a count of unique values. It depends that which type of values you have so that you can use the best method for it.

In today’s post, I’d like to share with you 6 different methods to count unique values and use these methods according to the type of values you have.

data.xlsx

## Advanced Filter to Get a Count of Unique Values

Using an advanced filter is one of the easiest ways to check the count of unique values and you don’t even need complex formulas. Here we have a list of names and from this list, you need to count the number of unique names.

Following are the steps you need to follow to get the unique values:

1. First of all, select any of the cells from the list.
2. After that, go to Data Tab ➜ Sort & Filter ➜ Click on Advanced.
3. Once you click on it, you will get a pop-up window to apply advanced filters.
4. Now from this window, select “Copy to another location”.
5. In “Copy to”, select a blank cell where you want to paste unique values.
6. Now, tick mark “Unique Records Only” and click OK.
7. At this point, you have a list of unique values.
8. Now, go to the cell below the last cell of the list and insert the following formula and hit enter.
``=COUNTA(B2:B10)``

It will return the count of unique values from that list of names.

Now you have a list of unique values and count as well. This method is simple and easy to follow as you don’t need to write complex formulas for this.

## Combination of SUM and COUNTIF to Count Unique Values

If you want to find the count of unique values in a single cell without extracting a separate list, then you can use a combination of SUM and COUNTIF.

In this method, you just have to refer to the list of the values and the formula will return the number of unique values. This is an array formula, so you need to enter it as an array, and while entering it use Ctrl + Shift + Enter.

And the formula is:

``=SUM(1/COUNTIF(A2:A17,A2:A17))``

When you enter this formula as an array it will look something like this.

``{=SUM(1/COUNTIF(A2:A17,A2:A17))}``

### How it Works

To understand this formula you need to break it down into three parts and just remember that we have entered this formula as an array and there is a total of 16 values in this list, not unique but total.

Ok, so look.

In the first part, you have used COUNIF to count the number of each value from 16 and here COUNTIF returns values like the below.

In the second part, you have divided all the values by 1 which returns a value like this.

Let’s say if a value is there in the list twice, then it will return 0.5 for both of the values so that in the end when you sum it, it becomes 1 and if a value is there three times it will return 0.333 for each.

And, in the third part, you have simply used the SUM function to sum all those values and you have a count of unique values.

This formula is quite powerful and it can help you to get the count in a single cell.

## Use SUMPRODUCT + COUNTIF to Get a Number of Unique Values from a List

In the last method, you used the SUM and COUNTIF methods. But, you can also use SUMPRODUCT instead of SUM.

And, when you use SUMPRODUCT, you don’t need to enter a formula as an array. Just edit the cell and enter the below formula.

``=SUMPRODUCT(1/COUNTIF(A2:A17,A2:A17))``

When you enter this formula as an array it will look something like this.

``{=SUMPRODUCT(1/COUNTIF(A2:A17,A2:A17))}``

### How it Works

This formula exactly works in the same way as you have learned in the above method, the difference is just that you have used SUMPRODUCT instead of SUM.

And SUMPRODUCT can take an array without using Ctrl + Shift + Enter.

## Count Only Unique Text Values from a List

Now, let’s say you have a list of names in which you also have mobile numbers and you want to count unique values just from text values. So in this case, you can use the below formula:

``=SUM(IF(ISTEXT(A2:A17),1/COUNTIF(A2:A17, A2:A17),””))``

And when you enter this formula as an array.

``{=SUM(IF(ISTEXT(A2:A17),1/COUNTIF(A2:A17, A2:A17),””))}``

### How it Works

In this method, you have used the IF function and ISTEXT. ISTEXT first verifies whether all the values are text or not and return TRUE if a value is text.

After that, IF applies COUNTIF on all the text values where you have TRUE and other values remain blank.

And in the end, SUM returns the sum of all the unique values which are text and you get the count of unique text values this way.

## Get Count of Unique Numbers from a List

And if you just want to count unique numbers from a list of values then you can use the below formula.

``=SUM(IF(ISNUMBER(A2:A17),1/COUNTIF(A2:A17, A2:A17),””))``

Enter this formula as an array.

``{=SUM(IF(ISNUMBER(A2:A17),1/COUNTIF(A2:A17, A2:A17),””))}``

### How it works

In this method, you have used the IF function and ISNUMBER. ISNUMBER first verifies that all the values are numeric or not and return TRUE if a value is a number.

After that, IF applies COUNTIF on all the numeric values where you have TRUE and other values remain blank.

And in the end, SUM returns the sum of all the unique values which are numbers and you get the count of unique numbers this way.

## Count Unique Values with a UDF

Here I have VBA (UDF) which can help you to count unique values without using any kind of formula.

``````Function CountUnique(ListRange As Range) As Integer
Dim CellValue As Variant
Dim UniqueValues As New Collection
Application.Volatile
On Error Resume Next
For Each CellValue In ListRange
Next
CountUnique = UniqueValues.Count
End Function``````

Enter this function in your VBE by inserting a new module and after that go to your worksheet and insert the following formula.

``=CountUnique(range)``

## Conclusion

Counting unique values can be useful for you while working with large datasets.

The name list which you have used here had duplicate names and after calculating unique numbers, we get that there are 10 unique names in the list.

Well, all the methods which you have learned here are useful in different situations and you can use anyone from those which you think is a perfect fit for you.

If you ask me, advanced filter and SUMPRODUCT are my favorite methods, but now you need to tell me: