Excel实现非重计数,如果你只想快速使用看前面就行了,后面是实现原理(举例通俗易懂)。
如果你只想知道怎么用:
=SUMPRODUCT(1/COUNTIF(A2:A11,A2:A11))
其中A2:A11是你要统计的范围,在COUNTIF函数中重复两次用英文逗号隔开,即:COUNTIF(A2:A11,A2:A11)。
如图,共1,2,3,4,5几个数字得到的结果是5。
原理:每个数字出现的频率倒数之和。(个人理解如有错误请指正)
共涉及到两个函数SUMPRODUCT和COUNTIF,先来说一下两个函数的作用。
SUMPRODUCT:
当选择一个区域时,如图选择了A2:A11,这个时候就相当于我们使用的函数sum,就是对选中区域进行求和。
=SUMPRODUCT(A2:A11)的值即为:1+1+2+2+2+3+3+4+4+5=27
当选择多个区域时,如图所示,会对两个数组对应值进行相乘再求和。(区域包含的单元格数量需一样)
这里数组1就是区域A2:A11对应的数值:[1,1,2,2,2,3,3,4,4,5]
这里数组2就是区域A2:A11对应的数值:[2,2,3,3,3,2,2,2,2,1]
=SUMPRODUCT(A2:A11,B2:B11)的值即为:
1*2+1*2+2*3+2*3+2*3+3*2+3*2+4*2+4*2+5*1=55
COUNTIF函数:
COUNTIF函数其实比较好理解,COUNTIF(区域,条件)即可统计区域中满足条件的数量。
难就难在COUNTIF(A2:A11,A2:A11)应该如何理解:
如图,B列,B1-B11均填写的=COUNTIF(A1:A11,A1:A11),不难发现B列是左侧单元格在所选区域中出现的次数,注意空不会参与计数,如B1单元格。
COUNTIF(A1:A11,A1:A11)即表示逐个统计单元格值所出现的次数。
到此处大家应该基本明白是怎么算出来的了。即:每个数字出现的频率倒数之和。
SUMPRODUCT(1/COUNTIF(A2:A11,A2:A11))用计算来表示:
1/2+1/2+1/3+1/3+1/3+1/2+1/2+1/2+1/2+1/1=5
如果对你有帮助请点赞。