在excel表格中,有些数如3.14 3.17 5.11 5.10 这类的数,我想把最后那位数都精确到0.5的精确度,如

问题描述:

在excel表格中,有些数如3.14 3.17 5.11 5.10 这类的数,我想把最后那位数都精确到0.5的精确度,如3.14替换成3.15 ,3.17替换成3.15 把最后那位的数字都是向最接近0.5精确度的那个方向精确,如何能做到
我试了 如果采用查找替换的方式太慢了 ,要每个数字都查找替换,太费事了,有没有什么更好的办法可以快速完成这个替换?\
不好意思 回答的请说详细些 看不太懂
1个回答 分类:综合 2014-10-16

问题解答:

我来补答
如果楼主是想达到如下的要求,
3.11 3.10
3.12 3.10
3.13 3.15
3.14 3.15
3.15 3.15
3.16 3.15
3.17 3.15
3.18 3.20
3.19 3.20
3.20 3.20
A1单元格为原数,在B1单元格里输入函数
CEILING(A1-0.025,0.05)
具体解释如下:
CEILING(number,significance)
Number 要舍入的数值.
Significance 用以进行舍入计算的倍数.
将参数 Number 向上舍入(沿绝对值增大的方向)为最接近的 significance 的倍数.
如果您不愿意使用像“分”这样的零钱,而所要购买的商品价格为 ¥4.42,可以用公式 =CEILING(4.42,0.05) 将价格向上舍入为以“角”表示.
关于A1数字修正的解释
A1-0.025
因为CEILING函数是向上取倍数,而不是近似来找,
比如3.13至3.17均要变成3.15,这才是近似取整,而向上取整,则3.16、3.17就要变成3.20.
那就必须采用修正措施,将原来的数字减去0.025,
这样,就能保证正确.
但是对于3.175这个数是取到3.15还是3.20呢?他们离3.15和3.20是一样近.
上面的公式是取到3.15的
但是如果你想让这个中间数3.175变为3.20,则应修正公式
=CEILING(A7-0.025+OR((MOD(A7*100,10)/100=0.025),(MOD(A7*100,10)/100=0.075))*0.01,0.05)
即在A7-0.025后增加
OR((MOD(A7*100,10)/100=0.025),(MOD(A7*100,10)/100=0.075))*0.01
OR((MOD(A7*100,10)/100=0.025),(MOD(A7*100,10)/100=0.075))*0.01
他的意思是原数刚好为中间数时,如3.175,给他往上加点,这样就可以利用CEILING的向上取整的功能达到目的.
函数的表达为MOD(A7*100,10)/100为0.025或0.075时,将原数加0.01,达到向上取整,而不是中间数时,就为0,即不对原公式部分造成影响.
 
 
展开全文阅读
剩余:2000