ROUND函数是常用的四舍五入函数之一,用于将数字四舍五入到指定的位数。该函数对需要保留位数的右边1位数值进行判断,若小于5则舍弃,若大于等于5则进位。
其语法结构为:
ROUND(number,num_digits)
第2个参数num_digits是小数位数。若为正数,则对小数部分进行四舍五入;若为负数,则对整数部分进行四舍五入。
以下公式将数值728.492四舍五入保留2位小数,结果为728.49。=ROUND(728.492,2)
以下公式将数值-257.1四舍五入到十位,结果为-260。=ROUND(-257.1,-1)
此外,FIXED函数也可将数字四舍五入到指定的位数。该函数的舍入规则与ROUND函数一致,不同的是FIXED函数的返回结果是文本,且能返回带千位分隔符的格式文本。
其语法结构为:
decimals参数是四舍五入的位数。若为正数,则对小数部分进行四舍五入;若为负数,则number从小数点往左按相应位数四舍五入。若省略该参数,则按其值为2进行四舍五入。
no_commas参数是一个逻辑值。若为TRUE,则返回不包含千位分隔符的结果文本;若为FALSE或省略,则返回带千位分隔符的结果文本。
分别使用以下几个公式将数值28359.476四舍五入保留两位小数。
=ROUND(28359.476,2)
该公式结果为数值28359.48。
=FIXED(28359.476)
该公式结果为带千位分隔符的文本28,359.48。
=FIXED(28359.476,2,TRUE)
该公式结果为不带千位分隔符的文本28359.48。
分别使用以下几个公式将数值-5782.3四舍五入到十位:
=ROUND(-5782.3,-1)
该公式结果为数值-5780。
=FIXED(-5782.3,-1)
该公式结果为带千位分隔符的文本-5,780。
=FIXED(-5782.3,-1,TRUE)
该公式结果为不带千位分隔符的文本-5780。
在实际工作中,不仅需要按照常规的四舍五入法来进行取舍计算,而且需要更灵活的特定舍入方式,下面介绍两则算法技巧。
按0.5单位取舍:将目标数值乘以2,按其前1位置数值进行四舍五入后,所得数值再除以2。
按0.2单位取舍:将目标数值乘以5,按其前1位置数值进行四舍五入后,所得数值再除以5。
另外,MROUND函数可返回参数按指定基数四舍五入后的数值,语法结构为:
MROUND(number,multiple)
如果数值number除以基数multiple的余数大于或等于基数的一半,则MROUND函数向远离零的方向舍入。
注意:当MROUND函数的两个参数符号相反时,函数返回错误值#NUM!。
示例:特定条件下的舍入计算
如图15-3所示,分别使用不同的公式对数值进行按条件取舍运算。
图15-3按指定条件取舍
C4单元格使用ROUND函数的公式为:
=ROUND(B4*5,0)/5
D4单元格使用MROUND函数的公式为:
=MROUND(B4,SIGN(B4)*0.2)
其中SIGN函数取得数值的符号,如果数字为正数,则返回1;如果数字为0,则返回零(0);如果数字为负数,则返回-1。目的是确保MROUND函数的两个参数符号相同,避免返回错误值。
利用上述原理,可以将数值舍入至0.5单位。
E4单元格公式为:
=ROUND(B4*2,0)/2
F4单元格公式为:
=MROUND(B4,SIGN(B4)*0.5)
常规的四舍五入直接进位,从统计学的角度来看会偏向大数,误差积累而产生系统误差。而四舍六入五成双的误差均值趋向于零。因此是一种比较科学的计数保留法,是较为常用的数字修约规则。
四舍六入五成双,具体讲就是保留数字后一位小于等于4时舍去,大于等于6时进位,等于5且后面有非零数字时进位,等于5且后面没有非零数字时分两种情况:保留数字为偶数时舍去,保留数字为奇数时进位。
示例:利用取舍函数解决四舍六入五成双问题
如图15-4所示,对B列的数值根据E3单元格指定的位数按四舍六入五成双法则进行修约计算。
C3单元格修约的通用公式如下:
=ROUND(B3,E$3)-(MOD(B3*10^(E$3+1),20)=5)*10^(-E$3)
对于保留位数字为偶数、保留位后一位为5且后面无非零数字的情况,四舍五入法会进位,而四舍六入五成双的方法则不需要进位。因此公式先将数值按四舍五入法则修约,然后针对上述情况减去10^(-E$3),即可完成四舍六入五成双的修约。
图15-4利用ROUND函数实现四舍六入五成双
微信扫一扫加关注,Office自学网官方微信公众号,
专注分享软件安装和视频教程,让你一号在手,办公无忧!