关于在EXCEL中,使用sum和countif函数结合,完成不重复计数,出现小数的情况。

想请教EXCEL达人,我在EXCEL中,用sum(if(……,1/countif(……))来统计不重复计数时,会出现小数的现象,正常来说,应该是要整数才对的,因为是算出数据的个数。请问,有谁知道这是什么原因吗?哪里出错了?
我已经使用了三键组合结束输入的,还是有小数出现,我上面提到的公式里,有IF函数,是因为有一个限定条件。准确来说,我这个是要求有条件的不重复计数,麻烦各位达人再解释一下了,谢谢!

比如公式是这样的={SUM(IF(B3:B97="香港",1/COUNTIF(D3:D97,D3:D97)))},
套上ROUND的话,计算出来的数字不太准确。

谢谢levi wzh的回答,你最后说的那个公式,算出来产生#DIV/0!的错误,请问怎么解决呢?

还有哪位知道怎么解决吗?谢谢了!

这个公式是数组公式,记得使用Ctrl+shift+enter 三键组合结束输入。
应该是 ={sum(1/countif(a1:a100,a1:a100))}

把完整的公式复制来看看,才知道问题所在

你确定是在编辑栏里以3键组合结束输入的吗?
公式改为:
=SUMPRODUCT(1/COUNTIF(D3:D97,IF(B3:B97="香港",D3:D97,)))
这是普通公式
我研究了一下为什么你的公式中有小数,是因为公式进行判断只是对B列是不是香港进行了判断,没有对对应的D列,所以如果别的地区有数值和香港的一样,也会参与计算,这样就会出现小数了.
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-11-05
=SUM(IF(FREQUENCY(A2:A10,A2:A10)>0,1)) 计算单元格 A2:A10 中唯一数值的个数,但不计算空白单元格或文本值的个数 (4)
=SUM(IF(FREQUENCY(MATCH(B2:B10,B2:B10,0),MATCH(B2:B10,B2:B10,0))>0,1)) 计算单元格 B2:B10 中唯一文本和数值的个数(不得包含空白单元格)(7)
=SUM(IF(FREQUENCY(IF(LEN(A2:A10)>0,MATCH(A2:A10,A2:A10,0),""), IF(LEN(A2:A10)>0,MATCH(A2:A10,A2:A10,0),""))>0,1)) 计算单元格 A2:A10 中唯一文本和数值的个数,但不计算空白单元格或文本值的个数 (6)
第2个回答  2010-11-05
应该是浮点误差,在“1/countif(……)”套上ROUND,即改为“ROUND(1/countif(……),0)”
第3个回答  2010-11-07
此公式中COUNTIF(D3:D97,D3:D97)均返回0,应该不对吧
第4个回答  2010-11-05
=SUM(IF(FREQUENCY(A2:A10,A2:A10)>0,1)) 计算单元格 A2:A10 中唯一数值的个数,但不计算空白单元格或文本值的个数 (4)
=SUM(IF(FREQUENCY(MATCH(B2:B10,B2:B10,0),MATCH(B2:B10,B2:B10,0))>0,1)) 计算单元格 B2:B10 中唯一文本和数值的个数(不得包含空白单元格)(7)
=SUM(IF(FREQUENCY(IF(LEN(A2:A10)>0,MATCH(A2:A10,A2:A10,0),""), IF(LEN(A2:A10)>0,MATCH(A2:A10,A2:A10,0),""))>0,1)) 计算单元格 A2:A10 中唯一文本和数值的个数,但不计算空白单元格或文本值的个数 (6)
第5个回答  2010-11-05
应该是浮点误差,在“1/countif(……)”套上ROUND,即改为“ROUND(1/countif(……),0)”
第6个回答  2010-11-07
此公式中COUNTIF(D3:D97,D3:D97)均返回0,应该不对吧
相似回答