大家好,欢迎来到IT知识分享网。
按照国标GB/T 8170进行数字修约,我们也会称之为四舍六入五凑偶,以下简称为四舍六入。与通常的四舍五入唯一的不同,就在于当拟舍弃数字最左一位为5,其后无数字或皆为零,若所保留的末位数字为偶数,则5舍去。
用Excel公式进行四舍六入修约需要组合工作表函数来实现。以下是两类常见的公式。
第一类公式首先判别拟舍弃数字是否为5以及保留数字末位是否为偶数,条件都满足的话就舍弃5,否则进行正常的四舍五入。条件判别的第一种方式可以使用TRUNC(number,[num_digits])函数将数字后一部分截去,返回前一部分判别奇偶并判别截去的部分是否为5;另一种方式是使用MOD(number,divisor)函数将数字与2相除,返回余数,如果number为正数而且余数为0.5,那么number的整数部分为偶数。
假设要把A1单元格的数字修约到个位,这一类型的公式可以写成类似以下的格式:
=IF(AND(A1-TRUNC(A1,0)=0.5,ISEVEN(TRUNC(A1,0))),ROUNDDOWN(A1,0),ROUND(A1,0))
=IF(MOD(ABS(A1),2)=0.5,ROUNDDOWN(A1,0),ROUND(A1,0))
=ROUND(A1,0)-SIGN(A1)*(MOD(ABS(A1),2)=0.5)
第二类公式先将数字进行变换,增加小数位数,并且在更低的数位上四舍五入,得到一个和原数接近的数,再对其进行四舍五入来实现四舍六入的运算。
假设要把A1单元格中最多一位小数的数字修约成整数,公式可以写成类似以下格式:
=ROUND(ROUND(A1/8,2)*8,0)
第一类公式中都会进行尾数等于0.5的判别。由于Excel中浮点数存储和运算可能会产生的误差,这种判别可能会失效。比如MOD(0.145*100,2)=0.5这个逻辑运算结果为FALSE。所以这一类公式针对特定的小数数字不能给出期望的结果。
第二类公式适用于待修约的数字比修约位数最多多出一位小数的情形。更多的小数位数可能会影响到第一次舍入与最终结果的对应关系,从而与期望值产生出入。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/78310.html