海南省BIM中心

 找回密码
 注册请加微信xycost

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 569|回复: 4

含水量奇进偶不进的问题

[复制链接]

0

主题

2838

帖子

5440

积分

版主

Rank: 7Rank: 7Rank: 7

积分
5440
发表于 2014-5-17 18:21:24 | 显示全部楼层 |阅读模式
我们都知道,含水量是奇进偶不进,在EXCEL中,有没有这么个函数表示奇进偶不进啊?急啊,谢谢!
大家好才是真的好
回复

使用道具 举报

0

主题

2838

帖子

5440

积分

版主

Rank: 7Rank: 7Rank: 7

积分
5440
发表于 2014-5-17 18:21:24 | 显示全部楼层
假如要进行奇进偶不进四舍五入的单元格为“A1",需要保留两位小数,折计算公式: 
=IF(AND(INT(100*A1)-2*INT(A1*100/2)=0,(A1*100-INT(A1*100))<0.6),INT(A1*100)/100,ROUND(A1,2)) 

如果需要保留3位小数,则把式中的100改成1000,同事更改最后的“ROUND(A2,2))”为“ROUND(A1,3))”即可 
=IF(AND(INT(1000*A1)-2*INT(A1*1000/2)=0,(A1*1000-INT(A1*1000))<0.6),INT(A1*1000)/1000,ROUND(A1,3)) 

如果需要保留N位小数,则把式中的100改成1后面加N个0,同事更改最后部位为“ROUND(A2,N))”即可。 
=IF(AND(INT(10^N*A1)-2*INT(A1*10^N/2)=0,(A1*10^N-INT(A1*10^N))<0.6),INT(A1*10^N)/10^N,ROUND(A1,N)) 

另外还可以用很多别的办法实现 
比如: 
ROUND(A1/(IF(--(RIGHT(A1/10^(INT(LOG(ABS(A1)))-2),2))=0.5,2,1)*SIGN(A1)*10^(INT(LOG(ABS(A1)))-2)),0)*IF(--(RIGHT(A1/10^(INT(LOG(ABS(A1)))-2),2))=0.5,2,1)*SIGN(A1)*10^(INT(LOG(ABS(A1)))-2)
大家好才是真的好
回复 支持 反对

使用道具 举报

0

主题

2959

帖子

2804

积分

论坛游侠

Rank: 1

积分
2804
发表于 2014-5-17 18:21:24 | 显示全部楼层
1、基本公式(保留一位小数的)式中X可设成预修正的单元格

IF(X-(INT(X)+0.5)<0,INT(X),IF(X-(INT(X)+0.5>0,INT(X)+1,IF((INT(INT(X)/2)-INT
       小于0.5的     舍       大于0.5的         进            0.5前是双的

(X)/2=0,INT(X),X+0.5)))
         舍    否则进
2、大家经常用的1位有效数字的:这个是求D19和E19的平均值的

=IF((D19+E19)/2*10-(INT((D19+E19)/2*10)+0.5)<0,INT((D19+E19)/2*10)/10,IF((D19+E19)/2*10-(INT((D19+E19)/2*10)+0.5)>0,INT((D19+E19)/2*10)/10+0.1,IF(INT(INT((D19+E19)/2*10)/2)-INT((D19+E19)/2*10)/2=0,INT((D19+E19)/2*10)/10,INT((D19+E19)/2*10)/10+0.1)))
回复 支持 反对

使用道具 举报

0

主题

2959

帖子

2804

积分

论坛游侠

Rank: 1

积分
2804
发表于 2014-5-17 18:21:24 | 显示全部楼层
IF(X-(INT(X)+0.5)<0,INT(X),IF(X-(INT(X)+0.5>0,INT(X)+1,IF((INT(INT(X)/2)-INT
       小于0.5的    舍       大于0.5的      进            0.5前是双的

(X)/2=0,INT(X),X+0.5)))
        舍    否则进
回复 支持 反对

使用道具 举报

0

主题

2959

帖子

2804

积分

论坛游侠

Rank: 1

积分
2804
发表于 2014-5-17 18:21:24 | 显示全部楼层
如果要取2位小数,只要把红色标记的数字+1,依此类推!
=IF(MID(A1,FIND(".",A1)+1,2)>=REPT(9,1)&"5",LEFT(A1,FIND(".",A1)-1)+1&"."&REPT(0,1),LEFT(A1,FIND(".",A1)-1)&"."&IF(MID(A1,FIND(".",A1)+2,1)<"5",MID(A1,FIND(".",A1)+1,1),IF(MID(A1,FIND(".",A1)+2,1)>"5",MID(A1,FIND(".",A1)+1,1)+1,IF(RIGHT(A1,LEN(A1)-FIND(".",A1)-2)<>REPT(0,LEN(A1)-FIND(".",A1)-2),MID(A1,FIND(".",A1)+1,1)+1,IF(MOD((MID(A1,FIND(".",A1)+1,1)),2)=1,MID(A1,FIND(".",A1)+1,1)+1,MID(A1,FIND(".",A1)+1,1))))))

回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /2 下一条


QQ|小黑屋|手机版|Archiver|ChinaBIM ( 琼ICP备14001050号-1 )

GMT+8, 2024-12-26 08:55 , Processed in 0.032069 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表