经常需要计算实际工作中非重复值的数量,例如,
[示例]在下图所示的客户消费计划表中,需要计算客户总数
= SUMPUTE((1/COUNTIF(B2:B10,B2: B10)))
将解开今天这个公式的谜团,这样你就可以完全理解这个公式的含义
分析和公式设置步骤:
根据Excel中的条件进行计数,可使用Countif函数完成例如,计算客户A:
= Countif (B2: B10,B2)
注:B2:B9数据统计区,B2为条件
如果上述公式中的Countif的第二个参数被替换为一个区域,会发生什么情况?
= countif (B2: b9,B2: b10)
计算表中所有行的客户数量选择公式部分并按F9键查看计算结果
= { 3;2 .2 .3 .1 .2 .2 .1 .3)
为了看得更清楚,计算结果直接在表中标出:
为了让重复的客户只计算一次,巧妙地使用了不重复的公式1/方法:
= 1/COUNTIF (B2: B9,B2: B10)
导致A变为1/3,B变为1的出现次数....
= { 1/3;1/2;1/2;1/3;1 .1/2;1/2;1 .1/3}
如果将所有A的出现次数(3)加在一起,它们正好是1
1/3+1/3+1/3 =1
同样,所有B的出现次数都是1
1/2+1/2 =1
其他类似的
,即1/2之后的总和。每个客户的求和结果是1
,最后的公式也出现:
= sumproduct((1/countif(B2:B10,B2: B10)))
注意:为什么sum product在这里不使用SUM,因为COUNTIF的第二个参数是一个区域(1组数字),所以公式是一个数组运算,SUM不能直接保存数组运算,而sumPRODUCT函数可以
→ :