跳至主要内容

Kutools for Office — 一套工具,五种功能。事半功倍。

在Excel中统计范围内的唯一值数量

Author Siluvia Last modified

本教程解释了如何使用指定公式在Excel列表中仅统计重复项中的唯一值数量。

doc-count-unique-values-in-range-1


如何在Excel的一列中统计唯一值?

假设您有一个如下截图所示的产品表,要统计“产品”列中的唯一值,您可以应用以下公式之一。

doc-count-unique-values-in-range-2

通用公式

=SUMPRODUCT(--(FREQUENCY(MATCH(范围,范围,0),ROW(范围)-ROW(范围.首单元格)+1)>0))

=SUMPRODUCT(1/COUNTIF(范围,范围))

参数

范围:您希望仅统计唯一值的单元格范围;
范围.首单元格:范围的第一个单元格。

如何使用这些公式?

1. 选择一个空白单元格以输出结果。

2. 将以下公式之一输入所选单元格并按Enter键。

=SUMPRODUCT(--(FREQUENCY(MATCH(D3:D16,D3:D16,0),ROW(D3:D16)-ROW(D3)+1)>0))

=SUMPRODUCT(1/COUNTIF(D3:D16,D3:D16))

doc-count-unique-values-in-range-3

注意事项:

1) 在这些公式中,D3:D16是您希望统计唯一值的单元格范围,而D3是该范围的第一个单元格。您可以根据需要更改它们。
2) 如果指定范围内存在空单元格,第一个公式将返回#N/A错误,第二个公式将返回#DIV/0错误。

公式解释

=SUMPRODUCT(--(FREQUENCY(MATCH(D3:D16,D3:D16,0),ROW(D3:D16)-ROW(D3)+1)>0))

  • MATCH(D3:D16,D3:D16,0):MATCH函数获取范围D3:D16中每个项目的位置,如果值在数据范围内多次出现,它将返回相同的位置以获得类似{1;2;3;2;1;1;3;2;1;1;1;2;3;2}的数组。
  • ROW(D3:D16)-ROW(D3)+1这里的ROW函数返回引用D3:D16和D3的行号,您将得到{3;4;5;6;7;8;9;10;11;12;13;14;15;16}-{3}+1。
  • 数组中的每个数字减去数字3然后加1,最终返回{1;2;3;4;5;6;7;8;9;10;11;12;13;14}。
  • FREQUENCY({1;2;3;2;1;1;3;2;1;1;1;2;3;2},{1;2;3;4;5;6;7;8;9;10;11;12;13;14}):频率函数计算每个数字在数据数组中出现的频率,并返回类似{6;5;3;0;0;0;0;0;0;0;0;0;0;0}的数字数组。
  • SUMPRODUCT(--{6;5;3;0;0;0;0;0;0;0;0;0;0;0}>0):
{6;5;3;0;0;0;0;0;0;0;0;0;0;0}>0:数组中的每个数字与0比较,如果大于0则返回TRUE,否则返回FALSE。您将得到类似{TRUE;TRUE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE}的TRUE FALSE数组;
--{TRUE;TRUE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE}:这两个减号将“TRUE”转换为1,“FALSE”转换为0。这里您将得到一个新的数组{1;1;1;0;0;0;0;0;0;0;0;0;0;0}。
SUMPRODUCT({1;1;1;0;0;0;0;0;0;0;0;0;0;0}):SUMPRODUCT函数对数组中的所有数字求和并返回最终结果为3。

=SUMPRODUCT(1/COUNTIF(D3:D16,D3:D16))

  • COUNTIF(D3:D16,D3:D16):COUNTIF函数统计每个值在范围D3:D16中出现的次数,使用所有相同的值作为条件。它返回类似{6;5;3;5;6;6;3;5;6;6;6;5;3;5}的数组,这意味着笔记本电脑出现6次,投影仪出现5次,显示器出现3次。
  • 1/{6;5;3;5;6;6;3;5;6;6;6;5;3;5}数组中的每个数字除以1,并返回新的数组{0.166666666666667;0.2;0.333333333333333;0.2;0.166666666666667;0.166666666666667;0.2;0.333333333333333;0.166666666666667;0.166666666666667;0.166666666666667;0.333333333333333;0.2;0.333333333333333;}。
  • SUMPRODUCT({0.166666666666667;0.2;0.333333333333333;0.2;0.166666666666667;0.166666666666667;


    0.2;0.333333333333333;0.166666666666667;0.166666666666667;0.166666666666667;0.333333333333333;0.2;


    0.333333333333333;})
    :然后SUMPRODUCT函数对数组中的所有数字求和并返回最终结果为3。

相关功能

Excel SUMPRODUCT 函数 Excel SUMPRODUCT 函数可用于将两列或多列或数组相乘,然后获取乘积的总和。

Excel FREQUENCY 函数 Excel FREQUENCY 函数计算值在值范围内出现的频率,然后返回垂直数组的数字。

Excel MATCH 函数 Excel MATCH 函数在一系列单元格中搜索特定值,并返回该值的相对位置。

Excel ROW 函数 Excel ROW 函数返回引用的行号。

Excel COUNTIF 函数 Excel COUNTIF 函数用于统计满足某一条件的单元格数量。


相关公式

统计筛选列表中的可见行数 本教程解释了如何使用SUBTOTAL函数在Excel中统计筛选列表中的可见行数。

基于条件统计唯一值 本分步指南帮助基于另一列中的指定条件统计唯一值。

带条件统计可见行 本教程提供详细步骤,帮助您带条件统计可见行。

在非连续范围内使用COUNTIF 本分步指南演示了如何在Excel中的非连续范围内使用countif函数。


最佳的办公生产力工具

Kutools for Excel - 助您脱颖而出

🤖 Kutools AI 助手: 基于智能执行革新数据分析:智能执行   |  生成代码  |  创建自定义公式  |  分析数据并生成图表  |  调用Kutools函数
热门功能查找、突出显示或标记重复项  |  删除空行  |  合并列或单元格而不丢失数据  |  无公式四舍五入 ...
超级VLookup多条件  |  多值  |  跨多表  |  模糊查找...
高级下拉列表简易下拉列表  |  级联下拉列表  |  多选下拉列表...
列管理器添加指定数量的列  |  移动列  |  切换隐藏列的可见性状态  比较列以 选择相同和不同的单元格 ...
精选功能网格聚焦  |  设计视图  |  增强编辑栏  |  工作簿与工作表管理器 | 资源库(自动文本)  |  日期提取  |  合并工作表  |  加密/解密单元格  |  按列表发送电子邮件  |  超级筛选  |  特殊筛选(筛选粗体/斜体/删除线...) ...
顶级15个工具集12 种文本工具添加文本删除特定字符 ...) | 50+ 种图表 类型甘特图 ...) | 40+种实用 公式基于生日计算年龄 ...) | 19 种插入工具插入二维码从路径插入图片 ...) | 12 种转换工具小写金额转大写汇率转换 ...) | 7 种合并与拆分工具高级合并行拆分Excel单元格 ...) | ... 及更多
使用您偏好的语言来操作Kutools——支持英语、西班牙语、德语、法语、中文等40多种语言!

Kutools for Excel拥有超过300项功能,确保您需要的功能只需一键即可实现...


Office Tab - 在Microsoft Office(包括Excel)中启用标签式阅读和编辑

  • 一秒内在数十个打开的文档之间切换!
  • 每天为您减少数百次鼠标点击,告别鼠标手。
  • 当查看和编辑多个文档时,您的生产力提高50%。
  • 为Office(包括Excel)带来高效的标签页,就像Chrome、Edge和Firefox一样。