四舍六入五成双进位规则在EXCEL中的实现

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

四舍六入五成双进位规则在EXCEL中的实现
作者:郑德彬
来源:《科学与信息化》2017年第18期
摘要通过Excel通用函数的编辑,在软件中实现计量学范畴内“四舍六入五成双”进位规则运算。

关键词计量学;四舍六入五成双;Excel
1 四舍六入五成双进位规则
在现代化学、工程学、计量学、统计学等理工学科的数据处理运算中。

对于位数很多的近似数,当有效位数确定后,其后面多余的数字应该舍去,只保留有效数字最末一位,“四舍六入五成双”是其中一种相对精确、科学的计数保留法数字修约规则。

根据统计学理论,在0-9的数列排序中,数字5处于中间位。

根据传统的“四舍五入”或进位规则,在大量运算时,将导致因进位引起的均值误差整体偏大。

采用“四舍六入五成双”进位规则可以有效降低大数据量测量结果受到修约误差的影响。

具体运算方式为:①被修约的数字等于或小于4时,该数字舍去;②被修约的数字等于或大于6时,则进位;③被修约的数字等于5时,要看5前面的数字,若是奇数则进位,若是偶数则将5舍掉,即修约后末尾数字都成为偶数;若5的后面还有不为“0”的任何数,则此时无论5的前面是奇数还是偶数,均应进位。

2 该算法在EXCEL中的实现[1]
在EXCEL中,通过单元格内键入复合公式“=IF (A1)-INT(A1))0.5,ROUND
(A1),0),IF(MOD(INT(A1)),2)=0,INT(A1),ROUND((A1),0))实现对A1单元格输入值判断正负并分别进行个位四舍六入五成双取整运算。

式中分别使用IF,INT,ROUND,MOD,四个Excel标准函数。

其中:
IF条件判断函数,其作用为根据设定条件输出不同的结果值,其语法为:
单元格键入“=if(条件,满足条件的结果,不满足条件的结果)”
多条件选择使用,单元格键入“=if(条件1,满足条件的结果,if(条件2,满足条件的结果,if(条件3,满足条件的结果)……)))”也可将以上两种语法嵌套使用。

(2003及以下Excel版本最多支持7层嵌套)
INT向下取整函数,将数字向下舍入到最接近的整数。

其语法为:
单元格键入“=INT(需取整值)”
Round取整函数,将数字进行设定位数的取整。

其语法为:
单元格键入“=Round(需取整值,取整位数)”
MOD求余函数,其作用为对指定数值进行整数求余运算并输出余数值,其语法为:单元格键入“=Mod(需求余数值,被除数)
在此复合公式中。

采用了多层IF语句进行判断。

首先,在运算时中通过,第一层IF语句嵌套判断,“=IF((A1)–INT(A1)))0.5,ROUND((A1),0)”设置条件为“当A1单元格中值(以下简称A1值)减去其向下取整所得值后的数值不等于0.5时,按照正常四舍五入将A1值取整为整数位。

”然后通过设置第二层判断语句“ IF(MOD(INT(A1)),2)
=0,INT((A1)),ROUND((A1),0)))”若A1值取整后除2余数为0(既A1值取整后为偶数),满足则输出结果”Int(A1)”,否则则输出结果“round(A1,0)”。

实现对A1值的四舍六入五成双运算。

3 该公式在实际应用中的技巧
3.1 运算过程中设计正负数字运算时
由于INT函数为向下取整函数。

当取整数为负数时取整值与该数绝对值取整后的值存在偏差。

此公式在涉及负数运算时所得结果会出现偏差。

为解决这一问题。

需在公式取值时,通过ABS绝对值函数将所取得值转为正值后由公式的修约部分进行运算,并在修约公式之外再次嵌套一层IF语句,对所取值的正负进行一次,所取值为正数时,输出所取数绝对值运算后的结果值。

为负数时则通过“0-结果值”的运算方式输出还原为负数的计算结果值。

具体为:将修改为IF(A1>=0,IF(ABS(A1)-INT(ABS(A1))0.5,ROUND(ABS(A1),0),IF (MOD(INT(ABS(A1)),2)=0,INT(ABS(A1)),ROUND(ABS(A1),0)))/10,0-(IF(ABS(A1)-INT(ABS(A1))0.5,ROUND(ABS(A1),0),IF (MOD(INT(ABS(A1)),2)=0,INT(ABS(A1)),ROUND(ABS(A1),0))))。

3.2 需对其他固定位小数进行取整时
在取值时通过将A1乘以10的不同次方进行小数点位移操作,例如需进行小数点后一位修约操作时,可将公式修约判读语句修改为:IF((A1)*10-INT((A1)*10)0.5,ROUND
((A1)*10,0),IF(MOD(INT((A1)*10),2)=0,INT((A1)*10),ROUND ((A1)*10,0)))/10。

将A1值乘以101进行小数点位移操作后再公式末尾还原。

需要两位小数修约操作时,则将上式中的10替换为100(102);需三位修约时则替换为1000(103),以此类推。

(Excel格式中10的X次方语法为(10^X)。

则可达成对不同小数位置的值进行修约操作
3.3 被取整值的选择
该公式在实际使用过程中,被取整值不一定必须为某固定单元格的输入值。

也可以将公式中的“A1”替换为“A1-B1”、“SUM(A1:A9”、“AVERAGE(A1:S1)”、“MAX(A1,B3,C5,D8,A15......)”等Excel其他函数或公式的运算结果值。

可根据对应需求再次与多个单元格进行嵌套运算。

高效完成大量数据的修约计算。

参考文献
[1] 张小峰,EXCEL2003函数大全[R].山东:鲁东大学计算机科学与技术学院,2008.。

相关文档
最新文档