四舍六入五成双在excel里怎么设置?

如题所述

1、按ALT+F11  

   Thisworkbook-插入-模块。

2、将下面代码拷贝进去。

Function TranValue(rng As Double, number As Integer) As Double

    TranValue = Round(rng, number)

End Function

3、在电子表格中直接使用公式

= tranvalue(A1,1) ;然后向下拉公式既可以.

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-09-17
假设A1是通过多位小数的数值(这里4位以上),按四舍六入五成双保留二位小数。公式为:
=IF(MID(A1-INT(A1),5,1)*1>5,INT(A1)+MID(A1-INT(A1),1,4)+0.01,IF(MID(A1-INT(A1),5,1)*1<5,INT(A1)+MID(A1-INT(A1),1,4),IF(MID(A1-INT(A1),6,1)*1>0,INT(A1)+MID(A1-INT(A1),1,4)+0.01,IF(ISEVEN(MID(A1-INT(A1),4,1)*1),INT(A1)+MID(A1-INT(A1),1,4),INT(A1)+MID(A1-INT(A1),1,4)+0.01))))追问

为什么1.1254等于出来是1.13?

追答

你说说为什么不是1.13呢,应该是多少呢?

追问

五成双?

追答

五后为0或五后没数才成双,五后有不为0的数必须进位。

本回答被提问者采纳
第2个回答  2023-04-11
这两个公式都能用,第一个短一点,第二个逻辑好懂一点,随便选一个复制过去就行:
=ROUND(A1,B1)-(ROUNDDOWN(MOD(ABS(A1)*10^(B1+1),20),11)=5)/10^B1*((A1>0)*2-1)
=IF(ROUNDDOWN(MOD(ABS(A1)*10^(B1+1),20),11)=5,ROUNDDOWN(A1,B1),ROUND(A1,B1))
这两个都是excel里把"A1"进行四舍六入保留到"B1"位的函数,针对正负数都通用。
公式里的"B1"可以改成数字使用,想保留几位小数就改成几,保留到十位百位就用"-1""-2"。
注:修约规则参考:GB/T 8170-2008 《数值修约规则与极限数值的表示和判定》。
第3个回答  2011-09-17
=ceiling(round(a1,0),2)追问

=ceiling(round(20.55,0),2) 为什么等于22?不等于20

追答

20.55 先四舍五入到整数位,21,然后再被进到双数,22

第4个回答  2011-09-17
=round(a1,0)追问

这个是四舍五入吧?

追答

四舍六入五成双只能逐位判断,没有现成的函数,除非你自己写个。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网