我收到 Excel 消息,提示我的公式参数过多,但我发现有关多个 IF 的教程确实遵循此模式。我的公式是:
=IF(F5="Credit", (E5*0.5), IF(F5="Debit", (E5*0.1)), IF(F5="Cash", (E5*0.2)), IF(F5="Adv.", (E5*0.1))
我正在做的是要求单元格检查前一个单元格中是否有“信用、借记、现金或广告”文本,以便应用特定的百分比。
编辑:谢谢斯科特,帮了大忙!
答案1
调试 Excel 公式的第一条规则是检查括号。您的表达式有八个左括号,即 ,(
和七个右括号,即)
。所以它是错误的。
调试 Excel 公式的第二条规则是检查括号。
=IF(F5="Credit", (E5*0.5), IF(F5="Debit", (E5*0.1)), IF(F5="Cash", (E5*0.2)), IF(F5="Adv.", (E5*0.1))
↑---------↑ ↑------↑ ↑----------------------↑ ↑---------------------↑ ↑---------------------↑
你IF
使用五个参数进行调用。正如你从所读的文档中应该知道的那样,你使用IF
三个参数进行调用:。诀窍在于IF(boolean, <value-if-true>, <value-if-false>)
<value-if-true>
和<value-if-false>
也可以IF
调用。如果你从内到外构建公式,可能会有所帮助。
答案2
您正在编写“如果”公式,其中包含大量 () 且没有“如果为假”的值,则必须将一些 ) 移到公式末尾,并且至少写入一个“如果为假”的值,当 F5 为空或与您编写的所有值不同时。
我更正了您的公式,并使用“”作为“如果为假”的值,它将返回一个空单元格:
=IF(F5="Credit", (E5*0.5), IF(F5="Debit", (E5*0.1), IF(F5="Cash", (E5*0.2), IF(F5="Adv.", (E5*0.1),""))))
例如:
IF(F5="Debit", (E5*0.1))
我将最后一个 ) 移到了公式末尾
你可以看看嵌套 if 函数