嵌套的IF语句返回false

时间:2015-09-18 11:11:37

标签: excel if-statement

我有一个嵌套的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 中的数据必须默认为数字才能进一步检查。

3 个答案:

答案 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")