【问题标题】:Multiple IF formula is throwing an error多个 IF 公式引发错误
【发布时间】:2015-11-28 01:52:18
【问题描述】:

我正在尝试在 Excel 中计算一些可能的输出,我曾经使用过这些输出 - 但是如果单元格包含 0,我想添加一个 NULL 输出。

目前,我正在尝试根据左侧单元格中的数据为一个单元格提供以下输出:

If the figure is lower than 3% it'll spit out "Low"
If it's between 3 & 5%, it'll say "Medium"
And if it's more than 5%, it'll say "High"

我已经设法让以下工作:

=IF(C18>5%,"High",IF(C18<3%,"Low",IF(AND(C18>=3%,C18<=5%),"Medium")))

但是现在我想添加一个空卷,如果该框不包含值。我试过了:

=IF(C18>5%,"High",IF(C18<3%,"Low",IF(AND(C18>=3%,C18<=5%),"Medium",IF(C14=0,"Null"))))  

但它不起作用,我很难解决我能做些什么来修复它。我为“Low”添加了另一个“IF(AND”,但这完全把事情搞砸了。

【问题讨论】:

  • 我认为您需要重新排序 IF - 首先检查 NULL,然后检查高,然后检查低,如果所有这些都失败,那么它是中等的。
  • 你的 IF 是由内而外的。
  • 不要使用“Null”。这样做会导致寻找字符串值

标签: excel excel-formula


【解决方案1】:

请尝试:

=IF(C18=0,"",IF(C18<0.03,"Low",IF(C18<0.05,"Medium","High")))  

但要调整断点以适应。

【讨论】:

    【解决方案2】:

    尝试重新安排测试的顺序。这将为您提供您正在寻找的结果:

    =IF(C14=0,"Null",IF(C18>5%,"High",IF(C18<3%,"Low","Mediunm")))
    

    首先检查 C14 是否为 0,因为这将评估为 NULL。如果不为 0,则检查 C18 是否大于 5%,导致高。如果低于 5%,请检查是否低于 3%,这将导致低。最后返回Medium(因为C14不等于0,C18大于等于3%小于等于5%。

    【讨论】:

    • 这是完美的,非常感谢蒂姆的帮助 - 辛苦了!也感谢您的解释,很高兴知道这一切背后的逻辑,这真的很有帮助。
    【解决方案3】:

    您在最后一个IF 中有错字。我相信你的意思是C18 不是C14

    无论如何,最后一个IF 永远不会执行,因为如果C18 = 0,它&lt;3% 所以它将被分配Low。如果您遵循业务逻辑中列出的进度,则该公式更容易编写(和阅读)

    =IF(C18=0,"Null",IF(C18<3%,"Low",IF(C18<=5%,"Medium","High")))
    

    【讨论】:

      【解决方案4】:

      Excel 不会将 NULL 作为值返回。见SO Answer

      但是,您可以将其写出来,使其显示为 N/A。

      =IF(C18=0,NA(),IF(C18>5%,"High",IF(C18<3%,"Low",IF(AND(C18>=3%,C18<=5%),"Medium"))))
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-11-23
        • 2020-06-15
        • 2018-12-22
        • 2021-10-14
        • 1970-01-01
        • 2013-04-18
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多