我有一个嵌套的if语句正在返回" False"而不是预期的结果。
方案
表"高压电缆"其中的数据默认为数字但可能包含字符: kVa
表"大师"检查" High VoltageCables"数据为空白或非空白,并返回"失败检查1","通过检查1"。这很好。
表" Meta"然后检查" Master"的结果。然后测试" High VoltageCables"长度在1到6之间的数据,无论记录是数字还是字符串。
式
=IF(MASTER!H2="Passed Check 1",IF(LEN('High VoltageCables'!O2)>=1,IF(LEN('High VoltageCables'!O2<6),"Passed Check 2","Failed Check 2")))
这部分是成功的,因为它返回&#34;通过检查2&#34;对于源表中的以下样本数据&#34; High VoltageCables&#34;。
1 数字,或
1kVa str,或
50000 数字
但是,如果&#34; High VoltageCables&#34;中的字段为空白,则公式返回&#34; FALSE&#34;而不是&#34;失败检查1&#34;
我继承了这个任务,(并且宁愿使用相对简单的查询在Access中完成整个事情) - 不幸的是我是嵌套的If语句的新手,所以我可能遗漏了一些基本的东西......
注意,High VoltageCables 中的数据必须默认为数字才能进一步检查。
答案 0 :(得分:1)
第一和第二IF似乎错过了其他部分。它们应该在最后添加)))))),否则),否则) 每个IF语句由IF(condition,truepart,falsepart)组成,如果你有两个嵌套ifs,它将是IF(condition,IF(condition2,truepart2,falsepart2),falsepart) 希望能让它更清晰
答案 1 :(得分:0)
你在中间IF中有一个未命中的FALSE。尝试将后两种情况放在一起。
=IF(Master!H2="Passed Check 1",IF(OR(LEN('High VoltageCables'!O2)={1,2,3,4,5}),"Passed Check 2","Failed Check 2"))
如果Master,H2不等于&#34;通过Check 1&#34;
,它仍然有点不清楚显示或不显示什么答案 2 :(得分:0)
我没有用“else”结尾 - “失败的检查1”
来构建公式使用 jeeped 和 Tom的建议并添加最终的“else”部分我已解决了问题:
=IF(MASTER!H2="Passed Check 1",IF(OR(LEN('High VoltageCables'!O2)={1,2,3,4,5}),"Passed Check 2","Failed Check 2"),"Failed Check 1")