excel中保留三位有效数字并四舍六入

问题描述:

excel中保留三位有效数字并四舍六入
有效数字:从一个数的左边第一个非0数字起,到末位数字止,所有的数字都是这个数的有效数字
四舍六入:拟舍去最后一位数字大于5则进1,;小于5则舍去;等于5时,若后面有非零数字时则进1,若5后面没有数或全为零时,则看保留位数最后一位为奇数则进一,偶数则舍去.
如:1.3440保留3位有效数字:1.34
1.3551保留3位有效数字:1.36
1.3450保留3位有效数字:1.34
1.3550保留3位有效数字:1.36
22.3456保留3位有效数字:22.3
0.002647保留3位有效数字:0.00265
1个回答 分类:综合 2014-10-02

问题解答:

我来补答
=SIGN(A1)*(FIXED(ABS(A1),2-RIGHT(TEXT(ABS(A1),"0.00E+00"),3),1)-(MOD(ABS(A1)*10^(3-RIGHT(TEXT(ABS(A1),"0.00E+00"),3)),20)=5)*10^(RIGHT(TEXT(ABS(A1),"0.00E+00"),3)-2))

如果不考虑负数可用:=FIXED(A1,2-RIGHT(TEXT(A1,"0.00E+00"),3),1)-(MOD(A1*10^(3-RIGHT(TEXT(A1,"0.00E+00"),3)),20)=5)*10^(RIGHT(TEXT(A1,"0.00E+00"),3)-2)
再问: 大神你好,我先验算下。再问一句,若是保留4位有效数字如何修改?忘大神解答。万分感谢!
再答: =FIXED(A1,3-RIGHT(TEXT(A1,"0.00E+00"),3),1)-(MOD(A1*10^(4-RIGHT(TEXT(A1,"0.00E+00"),3)),20)=5)*10^(RIGHT(TEXT(A1,"0.00E+00"),3)-3)
再问: 大神比如14.966,经四舍六入保留三位有效后应为15.0,公式计算为15,取舍为整数后,不能补零。能改进么?谢谢
再答: 再用一次修正函数,看看这个如何:
=FIXED(FIXED(A1,2-RIGHT(TEXT(A1,"0.00E+00"),3),1)-(MOD(A1*10^(3-RIGHT(TEXT(A1,"0.00E+00"),3)),20)=5)*10^(RIGHT(TEXT(A1,"0.00E+00"),3)-2),2-RIGHT(TEXT(A1,"0.00E+00"),3),1)
 
 
展开全文阅读
剩余:2000