EXCEL中ROUNDDOWN函数计算错误的问题.急!

发布网友 发布时间:2022-04-24 20:23

我来回答

4个回答

热心网友 时间:2023-10-09 18:58

这个网址是微软对这种现象的官方解释
http://support.microsoft.com/kb/78113
主要原因是 “在 Excel 中浮点运算可能会给出不准确的结果 ” 官方权威解释

至于推荐函数

excel中关于舍进位的函数有
INT:将数字向下舍入到最接近的整数。
CEILING:将参数 Number 向上舍入(沿绝对值增大的方向)
FLOOR:将参数 Number 沿绝对值减小的方向向下舍入
ROUND:返回某个数字按指定位数取整后的数字
TRUNC:将数字的小数部分截去,返回整数。

其中与rounddown功能相同的(向下舍的)可以用
int, floor, trunc
这三个都都试了
在计算((0.986*100-98)/0.2,时都是2
分别是
=INT((0.986*100-98)/0.2)
=FLOOR(0.986*100-98,1)
=TRUNC((0.986*100-98)/0.2,0)

所以单从函数上没法避这种情况了
不过你可以在写公式时用些技巧

我这么写
=ROUNDDOWN(INT(0.986*100/0.2)-98/0.2,0) 结果就是3

呵呵,网上也没其他好办法,都是在写公式时尽量避免连续的浮点小数运算

希望能帮到你

同时借你的问题我也对这个问题研究了一下

热心网友 时间:2023-10-09 18:58

这是计算机浮点运算出现的问题(差值非常小),ROUNDDOWN函数不管小数点后的数字是多少全舍去,所以得出2的结果。

热心网友 时间:2023-10-09 18:58

ROUNDDOWN(,0)函数是舍去,不管小数点后的数字是多少,全舍去,不做四舍五入

热心网友 时间:2023-10-09 18:59

用round就可以了
ROUNDDOWN 靠近零值,向下(绝对值减小的方向)舍入数字。
ROUNDDOWN(number,num_digits)
Number 为需要向下舍入的任意实数。
Num_digits 四舍五入后的数字的位数。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com