银行家在Excel中的舍入函数

这是一个众所周知的问题,默认情况下,.NET使用银行家舍入X.5四舍五入到最接近的偶数。 另一方面,Excel使用算术舍入, X.5总是被舍入,就像我们大多数人在学校教过的一样。

是否可以使用公式在Excel中执行银行转账?

使用这个公式:

 =IF(AND(ISEVEN(A1*10^0),MOD(A1*10^0,1)<=0.5),ROUNDDOWN(A1,0),ROUND(A1,0)) 

全部replace0 ,其中有4个,具有所需四舍五入的意义。

或者你可以创build自己的UDF来使用VBA Round,这是Banker的舍入:

 Function BankerRound(rng As Double, sig As Integer) As Double BankerRound = Round(rng, sig) End Function 

那简直就是:

 =BankerRound(A1,0)