乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > excel四舍五入函数-Excel基础知识-ROUND函数还可以这么,你知道吗?

excel四舍五入函数-Excel基础知识-ROUND函数还可以这么,你知道吗?

作者:乔山办公网日期:

返回目录:excel表格制作

今天继续了解数学计算中用到的函数,具有四舍五入功能的函数,共有四对,分别都有不同的使用场景,今天我们一起看看这四对组合函数的使用场景和使用注意事项!


ROUND函数


ROUND函数符合我们正常生活所说的四舍五入的规则,虽然它有两个参数,但想操作自如也并非易事,我们一起看看在它简单的参数下有这不简单的使用规则。语法结构如下图:


ROUND函数语法结构图


​我们最常用的恐怕就是带有2位小数的公式写法啦,不过今天我们要把内容扩展一下,看看这个函数除了我们已经了解的,还能干什么呢?我们没有了解的部分恐怕就是精度数为负数的部分,我也将这部分数据加以测试,也得到有意思的结果也是有规律的,先上测试数据,如下图:


ROUND测试数据图


图中的数据把镜度数分为三部分,负数,0,正数,正数部分比较容易理解,代表保留的小数位数,1就是保留一位并根据四舍五入的规则,是否进行保留位加1,0则道理同上,只保留整数部分,而负数部分就比较于意思了,-1就是10的1次方为进位基数,-2就是10的2次方进位基数,即当为-1时:>0且<5时,返回0,大于等于5且小于15时,返回10,大于等于15且小于25的则返回20,看完了整数的部分,我们需要确认一下带有小数是否会有对结果并没有影响,结果并没有惊喜,从上面的原理来看10的0.1次方结果是0.794328234724281,这个值也确实不太好计算取舍所以就简化处理,对第二参数进行取整运算后再进行下一步的处理,说了这么多,你是不是觉的没有用啊?我只要知道他的功能就行了啊!


​其实这些知识点是很有用的,在函数的使用,我们恰恰需要注意的地方就是函数未处理的地方或者禁区,只有知道这些,我们才能更好的编写公式的时候不会出错,就以上面的讲述的为例,在编写ROUND函数的公式,第二参数就不用在意是不是整数,用不用使用比如INT函数来取整一下,还有我们通过了解它的特性,在编写公式我们就会多一种处理方法比如,阶段性评分或评级,就完全可以用ROUND函数镜度数为负数来处理,在计算机的程序中,执行数学计算的比比较大小效果要高哦!


日常案例


某公司的销售额每月已不能达到5万元的,没有奖金,5万到15万以内的为一级奖金一级奖金以5万基数,每增加一万元,超出基数的部分以3%作为奖金,15万元到25万以内的则为二级奖金以15万元为基数,则以增加的部分则以5%作为奖金,依次类推,超过25万的则三级奖金,25万为基数,超出基数的部分则以8%为奖金,奖金计算模式:N级=1级+2级+...N级,求每人的每月的工资,具体数据如下:


销售公司的员工工资表


​好了我们按照上面的要求,先来分析整理一下我们的已知条件为逻辑公式:


<5万,工资1500 + 奖金0,


5万<=销售额<15万,工资1500+(销售额-5万)*3%(对应奖金率)


15万<=销售额<25万,工资1500+(销售额-15万)*5%+3000(上级奖金)


25万<=销售额,工资1500+(销售额-25万)*8%+(5000+3000)(上级奖金)


既然我们都有了工资的计算公式的,只需将这些转化为Excel的公式就行了,我们第一个可能会想到的用IF,但条件怎么写呢?这里就有个技巧了,在编写比较的,需要看你用的什么比较符号了,用>或>=符号就要范围数字从大到小写,反过来用<或<=符号就要从小往大的写,别弄反了,了解了解,说完这个开始我们的编写吧,我们这里选>或>=符号


奖金的公式=if(销售额>=250000,(销售额-250000)*0.08+8000,if(销售额>=150000,(销售额-150000)*0.05+3000,if(销售额>=50000,(销售额-50000)*0.03,0)))


用ROUND函数编写的公式:=if(round(销售额,-5)/100000>=3,(销售额-250000)*0.08+8000,if(round(销售额,-5)=2,(销售额-150000)*0.05+3000,if(round(销售额,-5)/100000=1,(销售额-50000)*0.03,0))),如果这两个公式摆在你的面前,你会选哪个呢?


当然第二个了,别看第二个公式长,它的共用性高,哪么问题来了,什么叫共用性?共用性就是共同使用相同的结构或内容,其实只要我们仔细观察,我们就会发现第二个公式的条件里,基本都是有这个结构round(销售额,-5)/100000,而这种结构我们就可以通过定义名称的方式,将-5和100000抽离出来,这样就给这个公式带来更强的扩展使用性和可维护性,只要的分阶段的方式类似,我们只需修改名称的值来扩展公式的使用广度,不过往往有点和缺点并存,它的缺点是什么呢?


它的缺点就是它本身就是利用的round的函数的特性加以应用的,一旦超出了ROUND函数的特性,它也就没有这方面的使用价值了,而第一个公式,笨重,可维护性差,扩展困难,但它有着更好的兼容性,这也可能是人们为什么的部分的采用它的来处理问题的原因吧。说了这么,还是来看一下最终的结果吧,我就用第二个公式做的:


完成公式填充后的效果


如果像这样的工作只做一次的,就没有必要进行优化,而且这两种方式,你用哪个顺手就用哪个就可以了,如果你的这样的工作重复性比较高,哪我们就需要优化并把抽离成结构化,以后再遇到这样类似的问题,只需要在这个公式的基础稍微调整数据就能完成新的工作,这样我们就能大大的提高效率,好了说了这么,我们一起来做一下这个表的结构化,首先我们需要将条件的部分拆分成两部分,对应条件和结果抽离成一张表,我们给它起个名字叫Base:A列内容为等级,存储1,2,3,b列:50000,1500000,250000,c列存储是3%,5%,8%,d列内容为:0,3000,8000;至于加不加标题都可以,加标题是为了你以后再用的时候知道每列的内容是什么!


Base表格数据内容


至于常用数,-5或100000,你可以自定义存储也可以存储在条件表的一个固定位置也可以,我定义名称AN为-5和RN:100000,基础数据创建完成后,再来编写公式,这次我们不用if语句,而使用lookup代替if,奖金的公式变为=IFNA(([@销售额]-LOOKUP(ROUND([@销售额],RN)/AN,Base!A:A,Base!C:C)*LOOKUP(ROUND([@销售额],RN)/AN,Base!A:A,Base!D:D)+LOOKUP(ROUND([@销售额],RN)/AN,Base!A:A,Base!E:E)),0),只要我们遇到等级按0-5,5-15,15-25这样类似的规则,我们只需调整AN和RN的数值,只需修改B列和右侧的内容即可。


用lookup代替if的方法当然也可以优化第一个公式,不过的是需要调整Base表中所有的内容,数据少无所谓,一旦多起来即使少修改一项的内容,也会大大的提高效果的。通常我们在工作中,即使能优化一两件事情也要去做,因为这种优化积累到一定程度,就会有质的提升了,好了今天的文章就写到这了,也希望你从中对ROUND函数有一点新的认识和用法的上的启发。如果想详细了解LOOKUP函数代替if函数的用法在Excel基础知识-解密开发小项目的全过程​​​​中有详细介绍!最后还是老口号:学习工作的路上你并不孤单,我们一路同行!


相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网