excel小数点省略后的计算

来源:百度知道 编辑:UC知道 时间:2024/05/19 21:23:14
在excel里设置计算公式,比如根据公式计算出L1=6.975,设置保留小数点2位,L1就自动变成6.98;
然后用公式L3=L2-L1,计算得L3=1855-6.975=1848.025,设置保留小数点2位,L3自动变为1848.03.
这样直观上看,就发生L3=L2-L1=1855-6.98=1848.03的错误结果,怎么设置才能让L2直接减L1省略后的结果,得到正确答案1848.02

解决方法:
1、勾选“工具--选项--自动重算--以显示精度为准”。

2、凡是涉及公式计算的数据,根据需要用round函数将其四舍五入,如考评扣的数据中输入函数“=round(考评扣钱公式,0)”,将考评扣钱公式计算的结果保留整数。

在L3输入=L2-round(L1,2)

可以用宏代码来实现这种功能,代码如下:
假如你的数据是在A列,保留3位小数。
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Rows.Count = 1 And Target.Columns.Count = 1 And Target.Column = 1 Then
If IsNumeric(Target.Text) Then
Target = Int(Target * 1000 + 0.5) / 1000
End If
End If
End Sub
操作步骤:
1、打开EXCEL文件,按ALT+F11,打开宏代码编辑窗口。
2、双击“sheet1(sheet1)"对象(如果你的数据不在sheet1工作表中,而在sheet2,则双击“sheet2(sheet2)",将上面的代码复制到右边的编辑窗口中,保存。
完成上面两步,你只要在这个工作表的A列输入小数位数大于3位以上时,它会自动四舍五入到千分位上了。代码你也是可以改的。比如在四舍五入到百分位,就百代码中2处的1000改为100就行了;如果不是在A列而在B列只要把代码中“target.column=1”改成“target.column=2”。