一个四舍五入的问题,大神能给你玩出9种花样
今天的事情源于群里这样一个普普通通的问题:怎么让值的后两位变成两个0,比如说我算出来是2517.32,怎么变成2500?
提问者刚发出自己的问题,就被秒杀了:=ROUND(A1,-2)
公式用的中规中矩,就是一个用round函数来进行四舍五入的公式,虽然简单,也有同学惊呼:原来round函数的第二参数还能用负数!
好吧,来补补课:ROUND(要进行舍入的数字,要进行舍入的位数),第二参数为正数时,将数字四舍五入到指定的小数位;第二参数为0时,将数字四舍五入到最接近的整数;第二参数为负数时,则在小数点左侧进行四舍五入。本例中用的-2,也就是按照十位的数字进行四舍五入。
关于第二参数取正数、零和负数的情况,可以通过下面这个例子来了解一下:
补课内容结束,回到前面的问题。面对这个公式,提问者对问题进行了补充:789.2这个数据的结果有点问题,希望得到的结果是700而不是800。
这很容易实现了,只要派出ROUND的系列函数ROUNDDOWN就能解决:=ROUNDDOWN(A1,-2)
ROUNDDOWN函数的作用是靠近零值,向下(绝对值减小的方向)舍入数字。具体用法与ROUND一样,区别在于ROUND是按照指定的位数进行四舍五入,而ROUNDDOWN是向下舍入的。
换上这个函数之后,问题得以解决。可是接下来却引发出了一场公式大战,这是所有人都没有想到的……
既然ROUNDDOWN函数都出场了,有人就提出了一个ROUNDUP的解决方案:=ROUNDUP(A1-100,-2)
ROUNDUP函数与ROUNDDOWN函数作用类似,只不过是向上舍入,因为舍入的方向变了,所以不能直接用A1作为参数,要用A1-100作为舍入的数据(为什么要减100,有兴趣的朋友可以自己去琢磨一下)。
在舍入类函数中,除了以上的这三个之外,还有两个函数分别是FLOOR和CEILING,也不能幸免的被人翻了出来,使用FLOOR函数的方案为:=FLOOR(A1,100)
使用CEILING函数的方案为:=CEILING(A1-100,100)
这两个函数的舍入原理与ROUND系列函数不同之处在于不是按照指定的位数进行舍入,而是按照指定的基数进行舍入。
FLOOR函数是按照指定的倍数向下舍入:FLOOR(数据,倍数)
CEILING是按照指定的倍数向上舍入:CEILING(数据,倍数)
通过这两个示例的对比,朋友们可以比较直观的了解两个函数的异同之处。
对于大部分朋友来说,按照指定的位数进行舍入比较符合习惯,而按照指定的倍数关系来进行舍入可能会有一点点难以理解。如果对这几个函数有兴趣,可以在文末留言,我们会对相关函数进行更为详细的介绍。
至此,这个问题已经出现了五个不同的方案,就在这些专门用于舍入的函数纷纷出马进行较量,难分高下之际,有人又给出了一个使用MOD函数的方案:=A1-MOD(A1,100)
MOD函数是一个计算余数的函数:MOD(被除数,除数)。
这个函数根据指定的被除数和除数计算出对应的余数,正常情况下,MOD(A1,100)得到的是一个数字百位以下的部分:
用一个数字减去百位以下的部分留下的就是百位以上的内容了,这个公式没有用到舍入的思路,纯粹是在玩数字的计算了。
既然MOD(余数)都能用,那么INT(取整)为什么不能用呢?顺着这个思路,又出现一个解法:=INT(A1/100)*100
INT取整函数:INT(要取整的数字),这个函数非常简单,只要一个参数,作用也很容易理解,就是将数字向下舍入到最接近的整数。
这个公式先利用=INT(A1/100)得到百位以上的数据:
再把这个结果放大一百倍,得到需要的结果,其原理还是玩的数字计算。
对比MOD与INT两个公式,感觉MOD这个更加简短一些,于是有函数高手对INT这个公式进行了整形:=INT(A1%)/1%
两个百分号的出现,让公式变得难以理解,其实百分号是函数高手使用频率非常高的一个符号,说的通俗点,%的在公式中的作用相当于/100:
通过这个例子可以直观的看到%的作用,一个字符(%)就可以完成四个字符(/100)的功能,在化简公式的时候,经常可以看到百分号的影子,另一方面使用%的公式也代表了函数高手的出现。
一个问题,七个解法,群友们说什么的都有,大部分观点都是觉得学习函数很有意思,同时也表露出自己数学功底不够扎实,对于个别公式还需要再消化消化,尤其是按倍数舍入的两个公式以及余数和取整两个公式的思路,真的太巧妙了。当然,最后的百分号也是让大家惊叹不已,对自己将来也能成为函数高手充满了期待……
“谁说这个问题只能用数学方法的,用引用函数照样可以!”
此公式一发,众人皆无语……
连号称引用函数之王的LOOKUP都用上了,大神们,宝宝看不懂啊……
一个原本是四舍五入的问题,由于LOOKUP的出现,彻底变了味了,成了函数高手之间的对决,一向被LOOKUP压着一头的INDEX也忍不住出招了:
这场引用函数之间的对决真的是难分上下,精彩万分,不得不说一个四舍五入的问题竟然连LOOKUP都用上了,你们也太会玩了……
通过今天这个看似简单的问题,我们分别认识到了:ROUND、ROUNDDOWN、ROUNDUP、FLOOR、CEILING、MOD、INT、%、LOOKUP和INDEX这些函数,除了最后两个引用函数LOOKUP和INDEX之外,都做了简单的分析,关于最后这两个公式,涉及到的知识点非常多,并且思路非常奇特,未做解释,有兴趣的话可以留言再单独解释这两个公式。
其实学习公式函数,如果仅仅抱着解决问题的目的,可能最终只能略有小成,只有体会到了其中的乐趣,真的爱上这些函数,才是走向高手之路的起点!
****部落窝教育-Excel四舍五入****
原创:老菜鸟/部落窝教育(未经同意,请勿转载)