求EXCEL四舍六入五留双的公式,保留到10。

如题所述

=IF(RIGHT(A1,1)*1<5,INT(A1/10)*10,IF(RIGHT(A1,1)*1>5,INT(A1/10)*10+10,IF(MOD(ROUND(A1/10,),2)=0,ROUND(A1/10,)*10,ROUNDDOWN(A1/10,)*10)))

测试结果:
114 110
115 120
116 120
124 120
125 120
126 130
134 130
135 140
136 140

四舍六入五留双规则

为了避免四舍五入规则造成的结果偏高,误差偏大的现象出现,一般采用四舍六入五留双规则。

四舍六入五留双规则的具体方法是:

(一)当尾数小于或等于4时,直接将尾数舍去。

例如将下列数字全部修约为四位有效数字,结果为:

0.53664——0.5366

10.2731——10.27

18.5049——18.50 0.58344——0.5834

16.4005——16.40

27.1829——27.18

(二)当尾数大于或等于6时,将尾数舍去并向前一位进位。

例如将下列数字全部修约为四位有效数字,结果为:

0.53666——0.5367

8.3176——8.318

16.7777——16.78 0.58387——0.5839

10.29501——10.30

21.0191——21.02

(三)当尾数为5,而尾数后面的数字均为0时,应看尾数“5”的前一位:若前一位数字此时为奇数,就应向前进一位;若前一位数字此时为偶数,则应将尾数舍去。数字“0”在此时应被视为偶数。

例如将下列数字全部修约为四位有效数字,结果为:

0.153050——0.1530

12.6450——12.64

18.2750——18.28 0.153750——0.1538

12.7350——12.74

21.845000——21.84

(四)当尾数为5,而尾数“5”的后面还有任何不是0的数字时,无论前一位在此时为奇数还是偶数,也无论“5”后面不为0的数字在哪一位上,都应向前进一位。

例如将下列数字全部修约为四位有效数字,结果为:

0.326552——0.3266

12.73507——12.74

21.84502——21.85 12.64501——12.65

18.27509——18.28

38.305000001——38.31

按照四舍六入五留双规则进行数字修约时,也应像四舍五入规则那样,一次性修约到指定的位数,不可以进行数次修约,否则得到的结果也有可能是错误的。例如将数字10.2749945001修约为四位有效数字时,应一步到位:10.2749945001——10.27(正确)。如果按照四舍六入五留双规则分步修约将得到错误结果:10.2749945001——10.274995——10.275——10.28(错误)。

参考资料:http://zhidao.baidu.com/question/305611935.html

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-11-08
假设数据在A1:A100中,B1中输入
=ROUND(A1,-1)-(MOD(A1,20)=5)*10
用自动填充柄下拉,就会出来四舍六入五留双到十位数的结果了。
略解释一下,其它所谓的四舍六入,其实与四舍五入十分接近,所以先将A1四舍五入到十位,就是ROUND(A1,-1)
然后再判断A1除以20的余数是否等于5,如果是,就是代表是十位数与个位数是偶数带5,也就是四舍五入时多进上去的,此时减去。
MOD(A1,20)=5是一个逻辑判断式,如果成立,返回TRUE,参与计算时,当1参与,如果不成立,返回FALSE,参与计算时,当0参与。
举个例子,125
ROUND(125,-1)=130 将125四舍五入到十位
MOD(125,20) =5 125除以20的余数为5,此时逻辑式为TRUE,(TRUE)*10=1*10=10
=ROUND(125,-1)-(MOD(125,20)=5)*10=130-(5=5)*10=130-(TRUE)*10=130-1*10=120
这样明白了吧。
第2个回答  2023-04-11
这两个公式都能用,第一个短一点,第二个逻辑好懂一点,随便选一个复制过去就行:
=ROUND(A1,B1)-(ROUNDDOWN(MOD(ABS(A1)*10^(B1+1),20),11)=5)/10^B1*((A1>0)*2-1)
=IF(ROUNDDOWN(MOD(ABS(A1)*10^(B1+1),20),11)=5,ROUNDDOWN(A1,B1),ROUND(A1,B1))
这两个都是excel里把"A1"进行四舍六入保留到"B1"位的函数,针对正负数都通用。
公式里的"B1"可以改成数字使用,想保留几位小数就改成几,保留到十位百位就用"-1""-2"。
注:修约规则参考:GB/T 8170-2008 《数值修约规则与极限数值的表示和判定》。
第3个回答  2012-11-08
假设你的数据在A1单元格,在任意空白单元格输入下面公式:
=IF(VALUE(RIGHT(A1))<=4,INT(A1/10)*10,IF(VALUE(RIGHT(A1))>=6,(INT(A1/10)+1)*10,A1))
解释:由于对你的五留双不是很明白,这里设定保留到10位,个位小于等于4舍去、大于等于6进位、在4和6之间的不变
第4个回答  2012-11-08
四舍六入五留双 是科学实验中采取的一项更加科学的取舍方法。我们知道,原来买东西都是4舍5入,则舍的是1234,入的是56789,看出什么来了?对了,以前商店赚我们的钱了,舍的只有4个,入的却有5个!!

在科学研究中,当然不能这样,不合理啊,呵。。。所以采用的是四舍六入五留双,4及以下的舍掉,6及6以上的入上。正好是5的,看前面的数字,是单数就入,结果是成为双数;如果前面是双数,就舍掉5,结果前面还是双数。所以叫“5留双”。。。这种方法,正好能实现舍和入的机率都是50%,更加科学。

在EXCEL中,好象没有简单的函数能实现。本回答被网友采纳
相似回答