首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么这个Excel IF语句有“太多的参数”?

为什么这个Excel IF语句有“太多的参数”?
EN

Stack Overflow用户
提问于 2014-07-26 05:27:11
回答 1查看 557关注 0票数 0

为什么这条Excel语句有“太多的参数”?Excel允许最多7个嵌套的IFs,而我看不到带有逗号或括号的错误?

=IF(C7>$B$1,(IF B7=C7,“完成”,“风险”),IF(C7<=B7,IF((C7-$B$1)<14,IF(C7>B7,“风险”,“检查”),“跟踪”),“跟踪”)

我试着像常规代码一样使用the键来查找错误。有人能帮上忙吗?

代码语言:javascript
复制
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

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2014-07-26 05:32:07

您应该尝试缩进实际代码,而不是编写伪代码并缩进。

代码语言:javascript
复制
=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放错了地方。

代码语言:javascript
复制
=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电子表格以充满错误而臭名昭著。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24964758

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档