为什么这个Excel语句有太多的参数"? Excel允许最多7个嵌套的IF,我无法用逗号或括号查看错误?
= IF(C7> $ B $ 1,(IF B7 = C7,“COMPLETE”,“AT RISK”),IF(C7 <= B7,IF((C7- $ B $ 1)&lt; 14,IF( C7&gt; B7,“AT RISK”,“检查”),“ON TRACK”),&#34; ON TRACK&#34;)
我尝试过像常规代码一样对其进行标记,并且正在努力寻找错误。有人可以帮忙吗?
If CPS(C7) > Today(B1)
TRUE If CPS(C7) = Due(B7)
TRUE return COMPLETE
FALSE return AT RISK
FALSE If CPS(C7)>Today(B1)
TRUE If CPS within 2 weeks
TRUE IF CPS(C7) > Due(B7)
TRUE return AT RISK
FALSE return Check
FALSE return ON TRACK
FALSE return ON TRACK
谢谢!
答案 0 :(得分:2)
您应该尝试缩进实际代码,而不是编写伪代码并缩进。
=IF(C7>$B$1,
(IF B7=C7, "COMPLETE", "AT RISK"),
IF(C7<=B7,
IF((C7-$B$1)<14,
IF(C7>B7, "AT RISK", "CHECK"),
"ON TRACK"),
"ON TRACK")
当你这样看时,很明显你在声明的末尾错过了一个正确的paren,而第二行的左边的paren是错误的。
=IF(C7>$B$1,
IF(B7=C7, "COMPLETE", "AT RISK"),
IF(C7<=B7,
IF((C7-$B$1)<14,
IF(C7>B7, "AT RISK", "CHECK"),
"ON TRACK"),
"ON TRACK"))
我还应该提一下,这个逻辑对于单个Excel公式来说是错综复杂的。如果您的工作表确实需要这种复杂程度,您应该将其分解为多个公式或移动到另一个平台。复杂的Excel电子表格因充满错误而臭名昭着。