首页 > Excel > Excel 统计不重复值

Excel 统计不重复值

2010年12月26日 Surda 发表评论 阅读评论

记得前面分享过一篇,也就是取不重复值.本文再分享如何统计不重复值的个数.继续延用上文实例.

去重复

如上图:

A1:A15为原始数据区域,B,C,D,E列按各自己要求从原数据区域中获取了不重复值,那如何统计不重复值的个数呢?这里给出三种常规解决方案.

一,=SUM(1/COUNTIF(A1:A15,A1:A15))  数组公式

析:COUNTIF(A1:A15,A1:A15)得到原数据区域数据出现次数形成的数组{2,2,2,2,3,2,3,2,1,1,1,1,2,3,2}

1/{2,2,2,2,3,2,3,2,1,1,1,1,2,3,2},2个重复的,每个占1/2,求和为1.使重复值只计算一次!

,=COUNT(1/FREQUENCY(A1:A15,A1:A15))

析:利用Frequency(数据,数据)统计数值的分布频率{2;0;2;2;2;3;0;0;1;1;1;1;0;0},第一次出现的数字位置返回数字出现个数,而第2次出现就返回0,因此只要统计非0的个数即可.故此公式也可改写为:

=SUM(N(FREQUENCY(A1:A15,A1:A15)>0))

,=SUM(N(MATCH(A1:A15,A1:A15,0)=ROW(A1:A15)))

析:Match精确查找每个数据在数据区第一次出现的位置{1;2;3;4;5;6;5;6;9;10;11;12;4;5;4},并与其对应的行号位置比较,因为只有第一次出现的位置才会一致,所以统计的是不重复个数.

ShareOn:
  •  
  1. 彩墨
    2011年3月28日12:13 | #1

    没看懂。。
    按照第一张图录入了基础数据到Excel内,然后直接copy 文章内的公式=SUM(N(MATCH(A1:A15,A1:A15,0)=ROW(A1:A15))),返回的是#VALUE!

  2. 2011年3月28日21:03 | #2

    @彩墨
    忘记说明 =SUM(N(MATCH(A1:A15,A1:A15,0)=ROW(A1:A15)))
    系数组公式 需按CTRL+SHIFT+ENTER 组合键结束输入

  3. 彩墨
    2011年3月29日11:53 | #3

    @Surda
    嗯,好用了:)

  4. 2011年3月30日21:05 | #4
  1. 本文目前尚无任何 trackbacks 和 pingbacks.