我正在尝试编写执行以下操作的嵌套if语句:
如果C19 =否,则C20 =否,且C22 =是,则C30 =否
否则
如果C19 =是或C20 =是,C22 =是,那么C30 =是
到目前为止,我有以下(非工作)代码:
=IF(OR(AND(C19="No",C20="No",C22="Yes"), C22="Yes","Yes","No"))
任何想法?
感谢。
答案 0 :(得分:3)
假设如果他们不符合这些条件中的任何一个,那么什么也不做,那么这应该有效
=IF(AND(OR(C19="Yes",C20="Yes"),C22="Yes"),"Yes",IF(AND(C19="No",C20="No",C22="Yes"),"No",""))
答案 1 :(得分:0)
你可以这样做,以迎合
C30="Yes"
不(即提供"C22<>Yes"
)"C19 and/or C20 are invalid"
Yes
或No
)更新:看到尼克的回答让我意识到你在第二次测试中确实有过测试
= IF(C22 =&#34;是&#34;,IF(AND(C19 =&#34; No&#34;,C20 =&#34; No&#34;),&#34;否&# 34;,IF(或(C19 =&#34;是&#34;,C20 =&#34;是&#34;),&#34;是&#34;,&#34; C19和/或C20无效& #34;)),&#34;&C22 LT;&GT;是&#34)
答案 2 :(得分:0)
IF语句需要进行逻辑测试,有两个值,一个在测试为真时返回,另一个在测试为假时返回。
IF(logical_test, [value_if_true], [value_if_false])
然而,您可以通过在后面的一个或两个值中嵌入后续IF语句来扩展它,这可以递归。例如:
IF(logical_test,(IF(logical_test,[value_if_true],[value_if_false])),([value_if_false]))
递归的每一步仍然是一个简单的布尔(真/假)测试,有两个可能的答案。
一旦你将必须满足的条件归结为简单的真/假陈述,只需将它们插入到IF语句中即可。