EXCEL中四舍六入函数的输入方法

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

能通过格式直接变成你所要求的功能的~

一般来说,通过函数,在另外一格里输出你要求的!

一楼的太复杂, 二楼的有待完美!

二楼的是通过最后一位小数来判断的~如果你输入12.345,如果保留一位小数,就变成了12.4,

还是不太明白你的意思,下面做了两个:

一,最终生成保留1位小数,即通过第2位小数的奇偶来进舍~

=IF(MOD(RIGHT(TRUNC(RC[-1],2),1),2)=1,ROUNDUP(RC[-1],1),ROUNDDO WN(RC[-1],1))

在数值的右边输入这个工式!

会根据第二位小数的奇进偶舍来生成1位小数!同时这个格设置格式为1位小数(不然是整数的时候,不会出现小数位)

二,最终生成整数,通过已经设置过保留1位小数的奇偶来进舍~

=IF(MOD(RIGHT(ROUND(RC[-1],1),1),2)=1,ROUNDUP(RC[-1],0),ROUNDD OWN(RC[-1],0))因为格式中的保留1位小数是四舍五入, 直接用RIGHT去取最后一位的话,不是取的看到的最后一位,而是没有四舍五入的最后一位,所以在公式里可四舍五入一次!

用到的函数:

MOD:取两个数的余数,通过判断最后一位与2的余数,来确定是奇是偶TRUNC:舍到指定位数(指定位数可空,即零)

RIGHT:取文本(数值)最右边一位

ROUND:四舍五入指定位数

ROUNDUP:向上取指定位数

ROUNDDOWN:向下取指定位数

如果你想把如12.34567,每位都按奇进偶舍的方式向上取整,或取到保留一位小数,有点复杂,自己按上面的改改吧!

一般不会先生成12.3457,再生成12.346,再生成12.34,再生成12.3?

所谓的奇进偶舍是否就是四舍六入五留双,

如果是这么样的,假设数据在A2:A100,B2中输入

=IF((A2-TRUNC(A2,1))<=0.04,TRUNC(A2,1),IF((A2-TRUNC(A2,1))>=0.06,TR UNC(A2,1)+0.1,TRUNC((TRUNC(A2,1)+0.1)/2,1)*2))

用自动填充柄将公式复制到B100.

保留两位小数,但是要数字修约,尾数逢5奇进偶不进,其他的四舍六入,excel该怎么输入函数

=IF(RIGHT(TRUNC(A1,3))="5",IF(MOD(RIGHT(TRUNC(A1,2)),2),CEILING(A 1,0.01),FLOOR(A1,0.01)),ROUND(A1,2))

追问

可以帮我解释下这些函数都是什么意思吗?谢谢,我想知道其所以然

回答

RIGHT(TRUNC(A1,3))="5"

判断A1中小数点后第三位是不是为5,TRUNC(A1,3))的作用是把小数点后第三位以后的全部截去。

当小数点后第三位为5时,还得判断小数点后第二位是不是奇数,

MOD(RIGHT(TRUNC(A1,2)),2)是判断小数点后的第二位是不是奇数,

MOD(RIGHT(TRUNC(A1,2)),2)是把小数点后第二位提取后被2除的余

数,如果为1时则为奇数,如果为0时则为偶数。条件成立时执行

CEILING(A1,0.01),条件不成立时执行FLOOR(A1,0.01)),

CEILING(A1,0.01))和FLOOR(A1,0.01))分别是向上(向下)舍入为0.01的整数倍,不足0.01的部分进上去或略去,如ceiling(2.123,0.01)=2.13,floor(2.128,0.01)=2.12

ROUND(A1,2))

的作用是对A1执行四舍五入,保留两位小数,这是在

RIGHT(TRUNC(A1,3))="5"的条件不成立的基础上执行的,就是小数点后

第三位不是5的时候才执行,也就是四舍六入了。

追问

=IF(MOD(RIGHT(INT(A1*100),1),2)<>0,ROUND(A1,

2),ROUNDDOWN(A1,2))这个函数是什么意思,它哪里出了问题

回答

你还问上瘾了。

MOD(RIGHT(INT(A1*100),1),2)是将A1乘以100后取整,然后取右边的

一个数字,就是小数点后第二位的数字,被2除后的余数是不是等于0,如果不等于0,执行四舍五入,保留两位小数,即ROUND(A1,2),如

果等于0,第三位以后不不管是几,都统统舍去,即ROUNDDOWN(A1,2),显然达不到你的要求,如2.127,小数点后第二位是2,被2除后的余数为0,按你的四舍六入五凑偶的要求,第三位的7应该进上去为2.13才

对,但他的公式执行的是ROUNDDOWN(A1,2),成了2.12,所以是错误的。

这么复杂、这么难的问题,你居然一分都舍不得出,还要一直问到地老天

荒吗?我劝你差不多就行了,别人得分也不容易,不要把那么多问题当做

一个问题来纠缠不休,你要诚心想学就到专门的培训中心去学吧,那里条

件要好得多,这里大家都很忙,不是来当义务讲师,你说是吗?

=ROUND(A1,2)-(RIGHT(INT(A1*1000))-5=0)*(MOD(RIGHT(INT(A1*100)),2)= 1)*0.01

就是工程的“修约”吧:四舍六入五单双

=IF(ISERR(FIND(".",A1)),A1,IF(AND(RIGHT(A1,LEN(A1)-FIND(".",A1)-2)="5", MOD(MID(A1,FIND(".",A1)+2,1),2)=0),TRUNC(A1,2),ROUND(A1,2)))

追问

如果是保留三位或者4位小数应改哪里啊?

回答

3位数的:

=IF(ISERR(FIND(".",A1)),A1,IF(AND(RIGHT(A1,LEN(A1)-FIND(".",A1)-

3)="5",MOD(MID(A1,FIND(".",A1)+3,1),2)=0),TRUNC(A1,3),ROUND(A

1,3)))

4位数的:

=IF(ISERR(FIND(".",A1)),A1,IF(AND(RIGHT(A1,LEN(A1)-FIND(".",A1)-

4)="5",MOD(MID(A1,FIND(".",A1)+4,1),2)=0),TRUNC(A1,4),ROUND(A

1,4)))

提问者评价

太感谢了,真心有用

自答:比如要对a按奇进偶不进保留一位小数,公式如下:

=IF(RIGHT(INT(a*10),1)<>"5",ROUND(a,0),IF(MOD(ROUND(a*10,0),2)=0,R OUND(a,0),ROUND(a,0)-0.1))

//RIGHT(INT(a*10),1)<>"5" :

判断小数点后以为是否为5,不等于5的时候取值ROUND(a,0),等于5的时候按乘以10在四舍五入,接着判断奇偶,当是偶数的时候取值ROUND(a,0),为奇数的时候值:

ROUND(a,0)-0.1

其他的类推over!

百度知道,v5!

相关文档
最新文档