乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > 在电子表格中如何让计算出来的数据不产生尾差?-excel表格怎么还数据,excel表格

在电子表格中如何让计算出来的数据不产生尾差?-excel表格怎么还数据,excel表格

作者:乔山办公网日期:

返回目录:excel表格制作


这个叫浮点误差,以下解释引用自网络,供参考:

浮点数的误差的产生一般由于两个原因
1)由于计算机zd内部以二进制保存,所以十进制的有限位的小数,在计算机内部会是一个无限位的小数。
例如 十进制的0.9虽然只有一位小数,转成2进制是无限循环小数0.1110011001100110011...

2)计算机保存浮点数的精度有限,例如float可以保留十进制最多7位(二进制23位)有效数字,double 可以保留十进制15~16位(二进制52位)有效数字。那有效数字以后的就被忽略了。
例如上面的0.9的表示受精度所限,精度以后的就被忽略了,这样
float时,它是0.89999998
double时,它是0.90000000000000002

一是利用Round函数对小数进行精确的四舍五入,其格式为:round(number,num_digits),其中“number”为需要四舍五入的数字或运算公式,num_digits指定四舍五入的位数。针对本文所述问题,我们只需在D2单元格中输入“=Round((B2+C2)*0.11,2)”,在“E2”单元格中输入“=Round(D2*3.12,2)”即可。另外,我们还可以通过Excel进行一下简单的设置来达到精确计算的目的,点击Excel菜单栏的“工具/选项”,在弹出的“选项”窗口中切换到“重新计算”选项卡,在“工作簿选项”栏中将“以显示值为准”复选框打上钩,点“确定”按钮即可
excel表中计算尾差,是因四舍五入造成的。zhidao
如果我们通过“格式-单元格-数字-数值”把单元格格式设为保留两位小数,实际上两位小数以后的数字并真正没有舍去,只是没有显示出来。
比如:在单元格A1输入1.234,B1输入1.113 ,则A1显示为1.23,B1显示为1.11
在C1中输入=A1+B1,则显示为3.35 (1.234+1.113=1.347,然后四舍五入为1.35)
这样,与计算器计算的1.23+1.11=2.34就不同了。

消除尾差办法:
办法一、勾选“工具--选项--自动重算--以显示精度为准”。

办法二、凡是涉及公式计算的数据,根据需要用round函数将其四舍五入,如函数“=round(A1/B1,2)”就是将A1/B1的结果保留两位小数。

小数点进位的问题,你看到的数值(显示值)是EXECL保留了一定位数的数值,比如100.255798,在表中你能看到的显示2位小数的值可能是zhidao100.26,但他在表格中参与计算还是按照100.255798进行计算的,一张表中如果有几个这样的多位小数的数值藏在里面进行计算的话,那尾数肯定就不对了

你可以把单元格列宽加大,把小数的保留设定成6位,7位什么的,再检查下那些尾数不为0的数字就是有问题的数字,或者用方向键逐一检查那些单元格,光标每移动到一个单元格的位置时,在地址栏里(公式栏)可以准确的看到实际的数值

相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网