电子表格难题
由于EXCEL中小数采用浮点存储,小数运算存在浮点误差,如在公式中选择I1116-B1116+K1116-C1116,按F9功能键,可以看到结果并不是1.5,后面多了好多位,所以与1.5比较并不相等,所以会出现不想要的结果,因此对于有小数参与运算而又要作精确比较的,用ROUND四舍五入函数修正下,由于误差很小(其实多数情况是没有误差的),正常产生在小数位12位后吧,为了不影响结果,修正时可选择8位小数,当然现在比较的最多只有一位小数,也可以将8改小点,另外,公式中当不需要显示内容时,不要用空格,而用空值,即引号之间不要敲空格键,直接什么也没有,公式为:
=IF(B1116>10,IF(OR(ROUND(I1116-B1116+K1116-C1116,8)=0,ROUND(I1116-B1116+K1116-C1116,8)=1.5,ROUND(I1116-B1116+K1116-C1116,8)=4,ROUND(I1116-B1116+K1116-C1116,8)=8),"","注意"),"")
对于多条件的OR,可以简化下:
=IF(B1116>10,IF(OR(ROUND(I1116-B1116+K1116-C1116,8)={0,1.5,4,8}),"","注意"),"")
2024-12-04 广告