Excel两个单元格数值相等,使用IF函数为什么为0-程序旅途

今天在项目中遇到一个问题,很奇怪。是这样的,一个单元格和另一个单元格比较是否相等,其中一个单元格是使用SUM求和的数据,手动求和和另外一个单元格是相等的,但是使用IF函数却不相等。

经过查阅相关资料了解到,原来Excel中的浮点运算结果可能并不准确,具体参考这里 。既然是浮点运算导致的精度问题,那就使用ROUND函数四舍五入取固定精度即可解决。

假设原来的公式为:

=IF(A1=SUM(B2,C2),1,0)

那么改为

=IF(A1=ROUND(SUM(B2,C2),2),1,0)

至于精度设置为多少,要看实际需求。