excel加减出现小数,求解决!

我原以为是原始数据存在多位小数,但是经过反复验证,绝对不存在,所有数值都是手打的,然后用加减公式后就有好多位小数,图片中选择的单元格是选择性粘贴数值的结果,别跟我说什么修改单元格格式,自欺欺人的办法,累计多了就会体现出来,就像图片上方的那组数值加减后应该是0,但是就会变成0.00.....0XXX,求解决!

经计算验证,问题出在D列-2.869。因为公式编辑为:A1+B1-C1-D1,到-D1的时候会出现减去一个负数(-2.869),所以出现了“2.88658E-14”
解决方法:因为在不进行单元格设置时,单元格默认为常规,对于负数减负数是默认的格式。所以还是要回到单元格设置上。右键需要编辑公式的单元格,右键设置单元格格式,左边一栏选择数值,确定,问题解决。这个不是自欺欺人,只是EXCEL默认格式与需要格式冲突的一个例子。追问

但是我选择性粘贴出来后,还是会变成那样,然后再改一次?还有,根本不是减负数的问题,我把A1和D1都改成正数后,A1-B1+C1-D1,也是一样的

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-05-09

浮点运算造成的误差。

工具,选项

追问

把这个勾上了也是一样的效果

第2个回答  2014-05-09
这个是没办法避免的, 因为形如 :0.1,0.01十进制小数在转换为二进制时是一个无穷循环二进制这样就造成了精度的丢失。 其实在计算的时候C3的值就是D3在编辑栏里显示的内容了 。
你把 C3的小数位设置为 17 位。这是浮点数在存储的时候造成了精度丢失。

所以办法还是先前别的网友回答的,对计算结果用四舍五入函数,

你可以参考以下连接的内容。
http://support.microsoft.com/kb/78113/zh-cn
http://club.excelhome.net/thread-635915-1-1.html
http://baike.baidu.com/view/1698149.htm?fr=aladdin
第3个回答  2014-05-09
round(a1+b1-c1-d1,2)
四舍五入就可以了追问

只有这一个办法了?能不能让他正常的运算?

追答

减法会产生这个冲突,你还是用round吧,用数值设置复制只选择数值过去的时候会还是会产生这种这种结果,小数位数无限大

本回答被提问者采纳
第4个回答  2014-05-09
你再说具体一点
相似回答