解决Excel数值进位问题
云天 · 2008-12-05 18:05 · 44471 次点击
一天,学校会计找我,说最近要按工资比例给每位教师增发公积金。他请了两位计算机的老师帮他计算,可是都没能解决问题。全校有200多位老师,要是用手工计算的话,不但要花很多时间,而且容易误算。所以他想请我帮他计算一下。我想,这无非是在Excel中用公式进行加减乘除的问题,应该不会太难,因此我就爽快地接受了这个任务。会计首先向我具体介绍了公积金增发方案。根据文件规定,本次公积金增发额是各位教师工资的前五项(职务工资、职务津贴、综合补贴、岗位津贴、教龄补贴)之和乘以4.9%,得到的增资额取整数。我一看,这还不简单?首先选定“增发”栏H列,将单元格格式设置为整数,然后定位到H2单元格,输入“SUM(B1:F1)*0.049”,按回车确认后,再将鼠标移到此单元格右下角,当出现实心加号时双击,所有增发额即刻就算好了。不料,会计看后却说,文件还有附加说明,凡增资额余数在0.1元以上的,应进位到元,不满0.1元的尾数则舍去。而采用设置单元格格式为整数的方法,只能将增发单元格中的数据作四舍五入处理,当余数是0.1~0.4时,就无法进位到元了。
真没碰到过这样古怪的算法!平时我们都用四舍五入法取整,今天这种异常的进位去余方法,也难怪那两位老师解决不了了。仔细分析计算要求,可分两步来计算。第一步是去除1位小数后的余数,第二步是见余进1,得到整数。可是用什么函数才能完成这两步操作呢?我立刻按F1打开帮助菜单,在索引标签的“关键词”框中试着输入“四舍五入”一词,按击按钮后,立即找到了与“四舍五入”相关的函数。经仔细阅读,又找到了Roundup和Rounddow这两个函数。于是得到了如下公式:“Roundup(Rounddow(G2*0.049,1),0)”。即先将工资前五项总和“G2”乘以0.049,并用Rounddow()函数去掉1位小数后的余数,保留到1位小数,再用Roundup()函数以见余进1的方法取整。在H2单元格输入这一公式,确定后再双击单元格右下角的实心加号,所有增发额瞬间计算完毕。取样验证,正确无误。