发布时间:2019-07-29 19:16:33
当R (平均)=4.0,Rd/(1-Za×Cv)=4.0时,因为计算结果比较精确,虽然函数里已经设置保留一位小数,但实际还是以未显示的多位小数作比较,所以有时候显示R (平均)=4.0<Rd/(1-Za×Cv)=4.0不合格,有时候显示R (平均)=4.0≥Rd/(1-Za×Cv)=4.0合格,下面这个函数该如何修改,还是excel的设置问题
=IF(OR(AE76<AE77),"R (平均)="&TEXT(AE76,"0.0")&"<Rd/(1-Za×Cv)="&TEXT(AE77,"0.0")&"不合格","R (平均)="&TEXT(AE76,"0.0")&"≥Rd/(1-Za×Cv)="&TEXT(AE77,"0.0")&"合格")
把 AE76<AE77 变更为:ROUND(AE76,1)<ROUND(AE77,1) 即可;
即:
=IF(ROUND(AE76,1)<ROUND(AE77,1),"R (平均)="&TEXT(AE76,"0.0")&"<Rd/(1-Za×Cv)="&TEXT(AE77,"0.0")&"不合格","R (平均)="&TEXT(AE76,"0.0")&"≥Rd/(1-Za×Cv)="&TEXT(AE77,"0.0")&"合格")
这是因为公式中使用的TEXT函数只是用于显示比较结果,而实际比较的是 AE76<AE77,并没有在四舍五入保留一位小数后进行,而是用原来的精度进行比较,所以不符合要求;