Excel 中的 IF/AND 函数在满足条件时返回 0

Excel 中的 IF/AND 函数在满足条件时返回 0

因此,正如标题所述,我的公式返回了一些输出,但对于其他输出,它只输出 0,即 false 时的值。也许我有太多嵌套的 AND 函数。任何分析和帮助都将不胜感激!

公式:=IF(E3="O-1",AND(C3>=3,C3<=3.49)*800,IF(E3="O-3",AND(C3>=3.75)*700,IF(E3="O-2",AND(C3>=3.5,C3<=3.74)*800,IF(E3="O-3",AND(C3>=3.5,C3<=3.74)*500,IF(E3="O-1",AND(C3>=3.5,C3<=3.74) *1100,如果(E3="O-1",并且(C3>=3.75)*1300,如果(E3="总统",4900,如果(E3="O-2",并且(C3>=3,C3<=3.49)*700,如果(E3="O-2",并且(C3>=3.75)*1000,如果(E3="O-3",并且(C3>=3,C3<=3.49)*400,0)))))))))))

答案1

如果你能

  • 解释你正在尝试实现什么样的逻辑树,以及
  • 给出一个公式计算结果不是您想要的值的条件示例(并说出您想要的值)。

另外,调试此类问题的一种常用方法是简化您所拥有的内容,直到

  • 可以一眼读懂,或者
  • 问题消失了(在这种情况下,你知道你所做的最后一次简化更改已经消除了有问题的代码)。

你的公式开始

=IF(E3="O-1", AND(C3>=3,C3<=3.49)*800, …

这意味着,如果E3等于"O-1",表达式的计算结果为AND(C3>=3,C3<=3.49)*800。如果C3小于3C3>=3则为 FALSE。如果C3大于3.49C3<=3.49则为 FALSE。无论哪种情况,AND(C3>=3,C3<=3.49)计算结果都为 FALSE,数值上等于 0,因此AND(C3>=3,C3<=3.49)*800为零。

因此,如果E3等于"O-1"C3小于3,则此公式计算结果为 0 是正确的。(这只是其中之一许多导致这种结果的复合条件。)这符合您的情况吗?

另外,你的公式真的真的没有意义。它包含

=IF(…, IF(E3="O-3", …, IF(E3="O-3", …

第二个测试E3="O-3"永远不会得到满足。(这不是表达式中唯一冗余/无法到达的部分。)

相关内容