天天看点

Excel四舍六入五单双公式

Question:

例如:修约为两位小数

0.3330→0.33 第三位小于5,第二位不加1

0.3340→0.33 第三位小于5,第二位不加1

0.3360→0.34 第三位小于5,第二位不加1

0.3350→0.34 第三位等于5,第四位为零,第二位是单数(奇数),第二位加1

0.3450→0.34 第三位等于5,第四位为零,第二位是双数(偶数),第二位不加1

0.3456→0.35 第三位等于5,第四位不为零,第二位加1

Answer:

=IF(MOD(INT(A1*1000),5)=0,IF(MOD(INT(A1*100),2)=0,INT(A1*100)/100,ROUND(A1,2)),ROUND(A1,2))

思路:首先,原数乘1000后取整数部分,用MOD判断其能否被5整除,将小数后第三位是5的另外列出来(当然是0的也被挑出来了)。

接着

(1)若不能,正常四舍五入即可。

(2)若能,则表示小数后第三位是0或5,这时我们判断原数乘100后取整能不能被2整除(这是判断小数点第二位是奇数还是偶数),若能,原数乘100后取整再除以100(这不就是取小数点后两位吗?),若不能,那么直接用ROUND函数。

引申:

修约为三位小数的公式

 =IF(MOD(INT(A1*10000),5)=0,IF(MOD(INT(A1*1000),2)=0,INT(A1*1000)/1000,ROUND(A1,3)),ROUND(A1,3))