在excel,我们通常会通过设置单元格格式中的数值保留小数位数,但是这种方法保留的小数位数仅仅改变了显示效果,实际内容仍然是原来的数值。比如下图中3.1415926,按下ctrl+1,在单元格格式中数值保留两位小数后,单元格中显示的是3.14,但是在编辑区,仍然是3.1415926。参与运算的时候也会按照3.1415926运算,这就是为什么经常会出现1分钱差异的原因之一。所以,要想真正保留指定位数的小数,请看下面几种函数的运用吧。
一、round、rounddown、roundup函数。
这三个函数直接理解英文意思就是舍入函数。都只有两个参数,第一个参数为引用的单元格,第二个参数为保留的位数。区别就是round函数就是我们常说的四舍五入函数,roundup函数表示向上舍入函数,rounddown函数为向下舍入函数。
比如图中输入函数公式=ROUND(A5,3)后,显示的是3.142。(后面的0可通过单元格格式保留小数位数省略显示,下同)
图中输入函数=ROUNDUP(A4,3)后,结果为3.142,其实此处只要小数点后第四位不为0,小数点后第三位就会自动进1。
同样,图中输入函数公式=ROUNDDOWN(A3,3)后,虽然小数点后第四位大于5,但是计算结果仍然向下舍入,结果是3.141.
当然,,这三个函数的第二个参数可以设置为0或者负值,分别表示保留整数或者保留指定的整数位数。计算过程和计算结果如下图所示。
二、int函数和trunc函数。
这两个函数放在一起是因为两者有相同之处,都只有一个参数,但是int是向下取整函数,trunc是截取整数函数。
在C3单元格中输入函数公式=INT(A3)后,计算结果为3,C4单元格中输入函数公式=INT(A4)后,计算结果为-4。int函数只要小数点后有数值,就会向下取整。
在C5单元格中输入函数=TRUNC(A5)后,计算结果为3,在C6单元格中输入函数=TRUNC(A6)后,计算结果为-3。trunc函数直接可以把小数点后的数字舍去。
三、floor函数与ceiling函数。
floor函数和ceiling函数都有两个参数,第一个参数是引用的单元格,第二个参数是最接近基数的倍数。第一个参数和第二个参数必须符号相同,不能一个正数一个负数。
不同之处是floor函数为将第一个参数向下舍入到最接近第二个参数的倍数,ceiling函数为将第一个函数向上舍入到最接近第二个参数的倍数。
比如原数据3.14,函数公式=FLOOR(A3,2)表示向下舍入最接近2的倍数,结果是2。可以想到,如果这里是5.14的话,向下舍入最接近2的倍数算出来的结果就是4了。
输入函数公式=FLOOR(A4,0.1)计算结果为3.1,因为这里以0.1为计数单位,计算的结果自然就是取一位小数的值了。
输入函数=CEILING(A6,2)后,计算结果是4,因为3.14向上取最接近2的整数倍就是4。
输入函数=CEILING(A8,0.1)后,计算结果为3.2,因为这里要向上取0.1最小的倍数。
从此处这几个例子可以看到,上面介绍的int函数和trunc函数因为只有一个参数,所以只能取整数。而此处第二个参数可以根据情况灵活设置从而对计算结果保留的位数进行调整。