因工作需要,本人使用excel做辅助账,汇总表中奖金余额(单元格F91)应等于分类明细表中奖金余额(收奖明细合计减发奖明细合计),汇总表数据来自财务账的科目余额表,分类明细表的数据来自财务账的明细账,为防止登记辅助账时人为操作录入失误,本人设了以下审核公式:
注:显示结果以书名号引用,即《显示结果》
实际公式:
《=IF(SUMIF('奖金(分类明细)'!F$3:F$133,C91,'奖金(分类明细)'!H$3:H$133)-SUMIF('奖金(分类明细)'!F$3:F$133,C91,'奖金(分类明细)'!G$3:G$133)=F91,"-","×")》
简述公式:=IF(明细表收奖合计-明细表发奖合计=汇总表余额,"-","×")
结果:《×》
本不该错,于是使用“公式求值”功能逐步计算查找原因,前几步计算无误,几步之后出现《if(17683.7-17683=F91,"-","×")》 (正确)
再点“求值”下一步结果:《if(0.700000000000728=F91,"-","×")》
再点“求值”下一步结果:《if(0.700000000000728=0.7,"-","×")》
再点“求值”下一步结果:《if(flase,"-","×")》
再点“求值”下一步结果:《×》
为什么《17683.7-17683》会计算出结果《0.700000000000728》?
于是更改公式如下
实际公式:
《=IF(SUMIF('奖金(分类明细)'!F$3:F$133,C91,'奖金(分类明细)'!H$3:H$133)=SUMIF('奖金(分类明细)'!F$3:F$133,C91,'奖金(分类明细)'!G$3:G$133)+F91,"-","×")》
简述公式:=IF(明细表收奖合计=明细表发奖合计+汇总表余额,"-","×")
结果正确:《-》
不是新手上路,不必多虑以下情况:
1、表中最小小数位0.00,会计专用格式,别说输多小数了;
2、表中没有乘除运算,不该算出0.000000000000728;
不是高人,所以还要请教:
1、为什么A减B本该等于C,可是excel却计算出A-B≠C?
2、为什么excel会计算出《17683.7-17683》=《0.700000000000728》?
3、为什么excel计算A-B≠C,却计算A=B+C?
请高人赐教!!!
awerlasdfwe高人!谢谢!我明白了!
虽然我的理解深度有限,但您说的这些就够我用了!再谢!
以后不用 A - B = C 审核了,只用 A = B + C 审核!
此外,在使用一款个人理财软件时也发现了同样的问题,应该也是这个道理!