Note: The other languages of the website are Google-translated. Back to English

在 Excel 中计算范围内的唯一值

本教程介绍了如何使用指定的公式在 Excel 中的列表中仅计算重复项中的唯一值。


如何计算Excel中一列中的唯一值?

假设您有一个如下面的屏幕截图所示的产品表,要仅计算产品列中的唯一值,您可以应用以下公式之一。

通用公式

=SUMPRODUCT(--(FREQUENCY(MATCH(range,range,0),ROW(range)-ROW(range.firstcell)+1)>0))

=SUMPRODUCT(1/COUNTIF(range,range))

参数

Range:您只想计算唯一值的单元格范围;
Range.firstcell:范围的第一个单元格。

如何使用这些公式?

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

2. 在选定的单元格中输入以下公式之一,然后按 输入 键。

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

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

笔记:

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

公式说明

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

  • 比赛(D3:D16,D3:D16,0):MATCH函数获取D3:D16范围内每一项的位置,如果数值在数据范围内出现多次,会返回相同的位置,得到这样的数组{1;2;3;2;1 ;1;3;2;1;1;1;2;3;2}。
  • 行(D3:D16)-行(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”转换为 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))

  • 计数(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 频率函数
Excel FREQUENCY 函数计算值在一个值范围内出现的频率,然后返回一个垂直的数字数组。

Excel MATCH功能
Excel MATCH 函数在单元格范围内搜索特定值,并返回该值的相对位置。

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

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


相关公式

计算过滤列表中可见行的数量
本教程说明如何使用 SUBTOTAL 函数计算 Excel 中筛选列表中的可见行数。

使用条件计算唯一值
此分步指南有助于根据另一列中的指定条件仅计算唯一值

使用条件计算可见行
本教程提供了详细的步骤来帮助您使用条件计算可见行。

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


最佳办公效率工具

Kutools for Excel-帮助您从人群中脱颖而出

您想快速,完美地完成日常工作吗? Kutools for Excel具有300项强大的高级功能(合并工作簿,按颜色求和,拆分单元格内容,转换日期等),并为您节省80%的时间。

  • 专为1500个工作方案而设计,可帮助您解决80%的Excel问题。
  • 每天减少成千上万的键盘和鼠标点击,减轻您疲倦的眼睛和手部的疲劳。
  • 在3分钟内成为一名Excel专家。 不再需要记住任何痛苦的公式和VBA代码。
  • 30天无限制免费试用。 60天退款保证。 免费升级和支持2年。
Excel功能区(已安装Kutools for Excel)

Office选项卡-在Microsoft Office(包括Excel)中启用选项卡式阅读和编辑

  • 一秒钟即可在数十个打开的文档之间切换!
  • 每天为您减少数百次鼠标单击,告别鼠标手。
  • 查看和编辑多个文档时,可将您的工作效率提高50%。
  • 像Chrome,Firefox和新的Internet Explorer一样,为Office(包括Excel)带来高效选项卡。
Excel的屏幕截图(已安装Office选项卡)
按评论排序
注释 (0)
还没有评分。 成为第一位评论!
这里还没有评论
留下你的意见
以访客身份发帖
×
评价此帖子:
0  产品特性
建议地点