Distinct count in Excel pivot tables


Ever wanted to count distinct values in your pivot tables? Something like this:

Here is a simple trick to add distinct count to Excel pivot tables quickly.

Let’s say you have data like this:

As you can see, several products are repeated on each day. When you make a pivot table from this data and add product count, Excel counts all products. But we want to see just the distinct count (ie if there is a duplicate product in a day, we want to count it just once). To get distinct count in the pivot table,

These instructions work only in Excel 2016, Office 365 and Excel 2013. 

  1. Insert a pivot table from your data
  2. In the create pivot dialog, enable “Add this data to data model” option.
  3. Once you have the pivot table canvas, add the product (or any other field for which you want to calculate distinct count) to the values area.
  4. Right click on the values, go to “Value field settings”.
  5. Summarize the value by “Distinct count”. This is the last option.
  6. All done!

Distinct Count in Excel Pivot Tables – Example Workbook

If you want to practice this or want to see this with an example, here is the workbook.

More Pivot Table Tricks

Chandoo

Hello Awesome...

My name is Chandoo. Thanks for dropping by. My mission is to make you awesome in Excel & your work. I live in Wellington, New Zealand. When I am not F9ing my formulas, I cycle, cook or play lego with my kids. Know more about me.

I hope you enjoyed this article. Visit Excel for Beginner or Advanced Excel pages to learn more or join my online video class to master Excel.

Thank you and see you around.

Written by Chandoo
Tags: , , , ,
Home: Chandoo.org Main Page
? Doubt: Ask an Excel Question

8 Responses to “Distinct count in Excel pivot tables”

  1. Al says:

    The distinct count option works well but I have found that if I have a date field and want to group by year, month, etc. that option seems to be disabled. I need to do both, distinct count and group by year/month.
    Example data; sales orders with item quantities with dates.
    Challenge; sum the item quantities, count the distinct orders and group by month. How do I do this?
    Perhaps that's not possible due to the grouping?

    • Chandoo says:

      @Al... When you use data model based pivots, you cannot group values manually anymore. Why not use Excel 2016's default date grouping option? In this case we have just a few dates, so Excel is not grouping them, but if you have an year's worth of data, when you make the pivot with date in the row label area, Excel automatically groups them. If you have fewer dates or want to use your own grouping, just create a table with all dates, add columns with month, week, year etc. Then connect this table (these types of tables are usually called as calendar tables) to your data on date field as a relationship. Now you can create reports by month, quarter etc easily.

      • Dan says:

        Is this the only way to do it in 2013? I find it rather cumbersome to have to create another data table listing dates with the another column for MONTH() and YEAR() to be able to summarise data for senior level...

        • Chandoo says:

          I know people find adding calendar tables cumbersome, but it is a best practice and let's you add more layers of analysis quite easily. For example, adding analysis by weekday vs. weekend or by financial quarter or YTD calculations (you would need either Power Pivot DAX or some very carefully setup pivot table value field settings)

  2. NC says:

    I had absolutely no idea this was possible. Very useful, nice work!

  3. Pete says:

    Doesn't work for 2010 version though (or at least not my works version)

    • NARAYAN says:

      Hi ,

      The post has the following in it :

      These instructions work only in Excel 2016, Office 365 and Excel 2013.

  4. Sarah says:

    when i have 2 different Pivot tables, one without the enabled “Add this data to data model” option, and the other one with it enabled.. is there anyway i can link slicers between them?
    if the answer is NO,, what to do ?

Leave a Reply


« »