How to Count Unique Values in Excel Using Formulas

📅 Jun 16, 2026 📝 Sarah Miller

Managing duplicate entries when auditing standard funding sources can be a frustrating, error-prone struggle for financial analysts. Fortunately, mastering modern spreadsheet functions grants users immediate clarity over their dataset's true scope. Under the stipulation that your organization utilizes Excel 365 or 2021 to support dynamic arrays, combining the COUNTA and UNIQUE functions-such as =COUNTA(UNIQUE(A2:A100))-delivers an instant, automated solution. Below, we will break down how this specific formula operates, explore syntax variations, and outline alternative workarounds for legacy versions of Excel.

How to Count Unique Values in Excel Using Formulas

In data analysis, encountering duplicate entries is almost inevitable. Whether you are managing customer registries, sales logs, inventory lists, or survey responses, you will frequently need to answer a fundamental question: "How many unique items do I have in this list?"

While Excel makes it easy to count overall entries using basic functions like COUNTA, counting unique or distinct values has historically been one of the tool's trickiest challenges. Fortunately, depending on your version of Excel, there are several powerful formulas available to solve this problem-ranging from modern, elegant dynamic arrays to classic workarounds designed for older versions of the software.

In this comprehensive guide, we will explore how to count unique values in Excel, break down how these formulas work step-by-step, learn how to handle trickier scenarios like empty cells or specific criteria, and look at non-formula alternatives.


Terminology: "Distinct" vs. "Unique"

Before writing our first formula, it is critical to clarify a common point of confusion in data analytics: the difference between distinct values and unique values.

  • Distinct Values: This includes every different value in a list, counted exactly once, regardless of how many times it appears. For example, in the list [Apple, Apple, Banana, Cherry, Cherry], the distinct values are [Apple, Banana, Cherry] (Total: 3).
  • Unique Values: This refers strictly to values that appear exactly once in the dataset. In the list [Apple, Apple, Banana, Cherry, Cherry], the only truly unique value is [Banana] (Total: 1), because Apple and Cherry are repeated.

In most business scenarios, when people ask for a "unique count," they are actually looking for a distinct count. This article will focus primarily on getting a distinct count, but we will also show you how to find truly unique counts using modern Excel functions.


Method 1: The Modern Way (Excel 365 & Excel 2021+)

If you are using a modern version of Excel (Microsoft 365 or Excel 2021 and later), counting unique values is incredibly straightforward thanks to Excel's dynamic arrays engine.

The Basic Formula

To count distinct values in a range, you combine the COUNTA function with the UNIQUE function:

=COUNTA(UNIQUE(A2:A15))

How It Works

  1. UNIQUE(A2:A15): This function extracts a list of all distinct values from the range A2:A15, automatically discarding any duplicate rows.
  2. COUNTA(...): This function counts the number of non-empty items returned by the nested UNIQUE array.

Handling Blank Cells in Modern Excel

If your range contains blank cells, the basic formula above can return an inaccurate count. The UNIQUE function will treat a blank cell as a distinct value (often displaying it as 0 or an empty string), and COUNTA will count it.

To prevent blanks from skewing your count, you can nest the FILTER function inside your formula to exclude blank cells before extracting unique values:

=COUNTA(UNIQUE(FILTER(A2:A15, A2:A15 <> "")))

This formula translates to: "Filter the range A2:A15 to only include cells that are not empty, extract the unique items from that filtered list, and then count them."


Method 2: The Classic Way (Excel 2019 and Older)

If you are working on an older version of Excel that does not support dynamic arrays (and therefore lacks the UNIQUE and FILTER functions), you will need to rely on a classic formula combination: SUMPRODUCT and COUNTIF.

The Basic Formula

To count distinct values in a range without empty cells, use this formula:

=SUMPRODUCT(1/COUNTIF(A2:A15, A2:A15))

How It Works (The Mathematical Logic)

This formula is highly elegant, though it can seem counterintuitive at first glance. Let's break down how Excel evaluates it using a small example dataset: ["Apple", "Apple", "Banana"].

  1. The inner COUNTIF(A2:A4, A2:A4) counts how many times each item in the range appears in that same range. It returns an array: {2, 2, 1} (since "Apple" appears twice and "Banana" appears once).
  2. The formula then performs a division: 1 / {2, 2, 1}, which calculates the reciprocal of each count. This evaluates to the array: {0.5, 0.5, 1}.
  3. Finally, SUMPRODUCT sums up the items in this array: 0.5 + 0.5 + 1 = 2.

By dividing 1 by the frequency of each item's occurrence, the fractions for any duplicated value will always add up to exactly 1. (e.g., an item appearing 3 times will yield three 1/3 values, which sum to 1). This guarantees that every distinct value contributes exactly 1 to the final sum.

Handling Blank Cells in the Classic Formula

If the analyzed range contains empty cells, the basic classic formula will fail and return a #DIV/0! (Division by Zero) error. This occurs because COUNTIF returns 0 for empty cells, and 1/0 is mathematically undefined.

To circumvent this issue, use this expanded, robust version of the formula:

=SUMPRODUCT((A2:A15 <> "") / COUNTIF(A2:A15, A2:A15 & ""))

Here is what this adjustment does:

  • COUNTIF(A2:A15, A2:A15 & ""): Concatenating an empty string (& "") ensures that empty cells are evaluated as empty strings rather than zeros. This prevents COUNTIF from returning 0, avoiding the #DIV/0! error.
  • (A2:A15 <> ""): This acts as a logical filter. It generates an array of TRUE (1) and FALSE (0) values. If a cell is blank, it returns FALSE (0). When divided by the count, it yields 0 instead of a fraction, ensuring blank cells add nothing to the final count.

Method 3: Counting Unique Values Based on Criteria

Often, you don't just want to count unique values in an entire column; you want to count them based on a condition in another column (e.g., "How many unique customers made purchases in the North region?").

With Excel 365 (Dynamic Arrays)

Using 365, adding criteria is highly intuitive. You simply use the FILTER function to restrict your dataset before passing it to UNIQUE:

=COUNTA(UNIQUE(FILTER(A2:A15, B2:B15 = "North")))

In this formula, A2:A15 contains the values you want to count (like customer names), and B2:B15 contains the criteria range (like region) which must equal "North".

With Older Excel Versions

To count distinct values conditionally in older Excel versions, you must use an array formula utilizing SUM, IF, and FREQUENCY. Assuming your data is in range A2:A15 and your criteria range is B2:B15:

=SUM(SIGN(FREQUENCY(IF(B2:B15="North", MATCH(A2:A15, A2:A15, 0)), ROW(A2:A15)-ROW(A2)+1)))

Note: Since this is an array formula in older Excel versions, you must press Ctrl + Shift + Enter to apply it, rather than just Enter.


Method 4: Counting Truly Unique Values (Appearing Exactly Once)

If your analytical goal is to count items that appear strictly once in your list, you can leverage the optional arguments of Excel's modern UNIQUE function.

The syntax for the UNIQUE function is: UNIQUE(array, [by_col], [exactly_once]). By setting the third argument to TRUE, Excel will only return values that occur exactly once in the source range.

=COUNTA(UNIQUE(A2:A15, FALSE, TRUE))

If you need to handle potential empty ranges that might result in no unique values (which would return a #CALC! error), wrap the formula with IFERROR:

=IFERROR(COUNTA(UNIQUE(A2:A15, FALSE, TRUE)), 0)

Summary: Which Method Should You Use?

To help you choose the best solution for your workbook, review this comparison of the standard methods:

Scenario / Version Formula to Use Pros Cons
Excel 365 / 2021+ (No blanks) =COUNTA(UNIQUE(range)) Short, simple, extremely fast computation. Not backward compatible.
Excel 365 / 2021+ (With blanks) =COUNTA(UNIQUE(FILTER(range, range<>""))) Accurate, handles missing data cleanly. Not backward compatible.
Excel 2019 & Older (No blanks) =SUMPRODUCT(1/COUNTIF(range, range)) Works on almost any version of Excel. Slow on massive datasets (>10,000 rows).
Excel 2019 & Older (With blanks) =SUMPRODUCT((range<>"")/COUNTIF(range, range&"")) Extremely robust, handles empty cells. Complex syntax; resource-heavy on large sheets.

Pro-Tip: Count Unique Values in Seconds with Pivot Tables

If you have a large dataset and want to avoid writing complex formulas entirely, you can let Excel's database engine do the heavy lifting via a Pivot Table. Modern Excel Pivot Tables have a built-in feature for distinct counts using the Data Model.

  1. Select your dataset range.
  2. Go to the Insert tab on the Ribbon and click PivotTable.
  3. In the dialog box that appears, check the box at the bottom: "Add this data to the Data Model" (this is crucial!). Click OK.
  4. In the PivotTable Fields panel, drag the field you want to count into the Rows or Values area.
  5. Right-click any value in your Pivot Table, select Value Field Settings...
  6. Scroll to the very bottom of the calculation list, select Distinct Count, and click OK.

Excel will instantly output an optimized distinct count for your data range, offering exceptional performance even with hundreds of thousands of rows.

Disclaimer:
The documents and templates provided on this page are for informational and illustrative purposes only. They do not constitute professional, legal, or financial advice, and should not be relied upon as such. Because individual circumstances and regulatory requirements vary, these materials may not be suitable for your specific needs. We recommend consulting with a qualified professional before adapting or using any of these examples for official or commercial purposes.