四舍六入五成双在excel怎么实现?

我是做药学的,需要四舍六入五成双,可是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个回答  2006-10-16
这样最直观:
=INT(A2)+IF(MOD(A2,1)>=0.55,1,0)

如果要保留2位小数:
=(INT(A2*100)+IF(MOD(A2*100,1)>=0.55,1,0))/100
第2个回答  2006-10-15
[转载]四舍六入五成双公式

四舍六入五成双公式对药学工作者很有用的
具体过程:
A2为需要修约的数据
B2为需要修约的位数
C2为修约结果,公式如下:
IF(((A2*10^(B2+1)-INT(A2*10^(B2+1)))<=0)*(MOD(TRUNC(A2*10^(B2+1)),5)=0)*(1-MOD(INT(A2*10^B2),2))=1,TRUNC(A2,B2),ROUND(A2,B2))
讲解:
1.1 ((A2*10^(B2+1)-TRUNC(A2*10^(B2+1)))<=0)判断需要修约的多一位上是否还有数据,如果有就返回0,没有返回1.
1.2 (MOD(TRUNC(A2*10^(B2+1)),5)=0)判断需要修约下一位是否为5,是5返回1不是5返回0
1.3 (1-MOD(INT(A2*10^B2),2))判断修约位数是否为双数 双数返回1 单数返回0
当1.1 1.2 1.3均为1的时候(即修约下两位没有数下一位且为5修约位数为双数,例如0.245,这时候不能四舍五入了,而是要去掉修约位数下一位的5,变为0.24)
第3个回答  推荐于2016-07-17
两种情况:
1.
被修约数 / 小数点后位数 / 结果
0.0834501 / 4 / 0.0835
其中结果一栏(0.0835)的设置为:=ROUND((TRUNC(A2*10^(B2+1))-((A2*10^(B2+1)-TRUNC(A2*10^(B2+1)))<=0)*(MOD(TRUNC(A2*10^(B2+1)),5)=0)*(1-MOD(INT(A2*10^B2),2))*5)/10^(B2+1),B2)
2.
(可用于负数)
被修约数 / 小数点后位数 / 结果
0 / 3 / 0
其中结果一栏的设置公式为:=IF(A2=0,0,(IF(A2>0,ROUND((TRUNC(A2*10^(B2+1))-((A2*10^(B2+1)-TRUNC(A2*10^(B2+1)))<=0)*(MOD(TRUNC(A2*10^(B2+1)),5)=0)*(1-MOD(INT(A2*10^B2),2))*5)/10^(B2+1),B2),-(ROUND((TRUNC(ABS(A2)*10^(B2+1))-((ABS(A2)*10^(B2+1)-TRUNC(ABS(A2)*10^(B2+1)))<=0)*(MOD(TRUNC(ABS(A2)*10^(B2+1)),5)=0)*(1-MOD(INT(ABS(A2)*10^B2),2))*5)/10^(B2+1),B2)))))本回答被提问者采纳

相关了解……

你可能感兴趣的内容

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