我正在 Excel 中测试 0.4 的倍数。
=MOD(1.2;0.4)
返回 0.4,而它应该返回零。
答案1
原因是 Excel 内部使用浮点数。
这意味着 0.4 在内部表示为小数点右边的位序列,代表 1/2、1/4、1/8、1/16 等,直到大约 1/(2^31)。
因此,任何不是一个整数(并且不是确切地可用上面列出的分数表示的整数(例如,100 克)具有与之相关的舍入误差;这也适用于计算的每个步骤。
MOD(*,0.4)
只是证明这一点的一个例子(我承认,这是一个相当明显的例子)。
基本上,你不能可靠地使用MOD
非整数作为第二个参数。如果可以的话,您需要相应地乘以和除以数据(例如=MOD(10*x;10*m)/10
),或者自己编写 MOD 公式:=x-INT(x/m)*m
。