-
(一)
网友【四分之一桶水】的公式=ROUND(A2-ISEVEN(RIGHT(INT(A2*10),1))/100,1)
当12.46、12.47、12.48、12.49时,结果是12.5,就不是12.4了。
因此,公式应修改为
=ROUND(A2-ISEVEN(RIGHT(INT(A2*10)))*0.05,1)
意思是,当个十分位是双数时,百分位上减去5,再四舍五入(保留1位小数)。
网友【四分之一桶水】在百分位上减去1,所以,导致上面的问题。
2003版本中没有ISEVEN函数,用MOD函数可以代替:
=ROUND(A2-(MOD(RIGHT(INT(A2*10)),2)=0)*0.05,1)
(二)
网友【Galumph_Tom】的公式
=IF(INT(E2*10)=E2*10,E2,IF(MOD(MID(E2-INT(E2),3,1),2)=0,INT(E2*10)/10,INT(E2*10+1)/10))
不是按四舍五入法修约的,是按舍(收)尾法修约的。
当然,这个问题应该是你提问者的问题。
公式意思是,当数是1位小数的数时,结果不变.,否则,
(1)当十分位是双数时,按舍尾法修约,即舍去百分位及其后面的所有数字;
(2)当十分位是单数时,按收尾法修约,即舍去百分位及其后面的所有数字,同时在十分位上加1。
(三)
(1)两网友分别用RIGHT函数和MID函数获得十分位上的数字,即:
RIGHT(INT(A2*10),1)
MID(E2-INT(E2),3,1)
至于用哪个函数好,仁者见仁智者见智,
我认为用RIGHT函数好一点,
理由是,提取字符串中最后1个字符,RIGHT函数的第2个参数可以省略,
即:RIGHT(INT(A2*10));获得字符串引用单元格1次就行,
INT(A2*10) ,
而MID函数引用了2次,E2-INT(E2) 。
(2)判断偶数与否,用ISEVEN比用MOD函数好,所以,建议使用Excel2007及以上版本。
-
右击设置单元格格式,数字中的小数位数
-
A2=12.15
=ROUND(A2-ISEVEN(RIGHT(INT(A2*10),1))/100,1)
-
运行效果图如下:
只要在F2单元格输入公式:
=IF(INT(E2*10)=E2*10,E2,IF(MOD(MID(E2-INT(E2),3,1),2)=0,INT(E2*10)/10,INT(E2*10+1)/10))
再下拉公式
如本站内容“对您有用”,欢迎随意打赏,让我们持续更新!
打赏