=(A1-B1)*10000
=IF(E1=D1,"equal","not equal")
**我想知道如何复制和粘贴公式,并确保其粘贴结果完全相同。请记住,我不想使用=round()
公式,因为我需要一个针对多个数字的解决方案,并且我不能对每个具有不同位数的单元格使用round()
。
答案 0 :(得分:0)
正如已经指出的那样,这是因为Excel的浮点精度。
(1.39139-1.40596)*10000
等于-145.7
,这是正确的。但是,我尝试在Excel中键入它以查看它实际产生的内容,我发现了以下内容。如果突出显示您的单元格C1
并按键盘上的 F9 ,您会看到Excel实际上将此值计算为-145.700000000002
。
我知道你说你不想使用ROUND
但是,除了完全避免浮点数(即只使用整数)之外,我认为ROUND
是你唯一的选择。 / p>
我建议您确定工作表中所需的小数点后的最大位数,并根据需要将ROUND(<number>,<max digits>)
合并到所有公式中。
即。您应该键入=(A1-B1)*10000
(例如,舍入为5位)而不是使用=ROUND((A1-B1)*10000,5)
,这将返回完全 -145.7
的值。我希望这有所帮助,或者如果没有别的,我希望这至少可以解释造成这种情况的原因。