在EXCEL里如何实现 四舍六入五奇偶 任意位数 保留整数,1位小数,2位小数,3位小数。请高手们赐教。

你好!我的意思是 任意位数的小数 四舍六入五奇进偶不进 保留整数公式
. 任意位数的小数 四舍六入五奇进偶不进 保留1位小数公式
任意位数的小数 四舍六入五奇进偶不进 保留2位小数公式
任意位数的小数 四舍六入五奇进偶不进 保留3位小数公式
最重要的是 任意位数的小数 如果有时间的话请详解一下
小弟我谢过各位咯!!!

假设数据在A1中,保留到整数,公式可为
=ROUND(A1,0)-(MOD(A1*10,20)=5)
其实,所谓的四舍六入,其它与四舍五入颇为相似,仅是在小数点后面正好为0.5时,作一个判断,如果前面是偶则不进,是奇则进,所以,先不管三七二十一,按四舍五入ROUND进上去再说,ROUND(A1,0)就是四舍五入到整数,MOD(A1*10,20)的意思是将原数乘以10,再去除以20的余数,仅仅是正好小数点后面为0.5,且小数点前面为偶数时,余数会是5,这样MOD(A1*10,20)=5会转化为TRUE,其它任何情况都为FALSE,参与四则运算时,TRUE转化为1,FALSE转化为0,符合整数为偶数,小数点后面正好为5时,ROUND被多进上去的那个,就会被减1。这样讲明白了没有。了解了的话,其它位数应该都可以了。保留一位的话,公式为
=ROUND(A1,1)-(MOD(A1*100,20)=5)/10
保留二位,公式
=ROUND(A1,2)-(MOD(A1*1000,20)=5)/100
三位就不写了,自己编。
看来你经常要用到位数变化的,所以建议这样,A1中为原始数据,A2中输入一个数字,0代表保留整数,1代表一位,2代表2位,-1代表小数点前1位,这样B1中公式可为
=ROUND(A1,A2)-(MOD(A1*10^(A2+1),20)=5)/(10^A2)
更改A2的数字,看看公式效果。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-05-26
选中单元格→右键→数字选项卡→分类→数值;
右边的小数位数自己视情况改
头大了@_@
第2个回答  2012-05-26
=IF(--RIGHT(A1,1)<>5,ROUND(A1,LEN(A1)-FIND(".",A1)-1),IF(MOD(MID(A1,LEN(A1)-1,1),2)=0,--LEFT(A1,LEN(A1)-1),ROUND(A1,LEN(A1)-FIND(".",A1)-1)))
相似回答