如果公式不起作用

如果公式不起作用

我的等式是:

=IF(B2>10,"129920",IF(B2>15,"350591",IF(B2>25,"498636",IF(B2>50,"752640",IF(B2>100,"1231889")))))

全部显示 129920;即使 B2 是 35 也无法正常工作,答案显示 129920 而不是 498636。

答案1

它运行良好,只是不像你预期的那样;-)

在您的示例中(B2 等于 35),B2 > 10,因此第一个 IF 返回“129920”并且不会落入第二个、第三个 IF 等。

反转比较的顺序(即从最高数字开始),它就会按您预期的方式工作。

答案2

不,它按写的那样工作 - B2>10。因此,第一个条件为 TRUE,显示 129920。

我想如果你读了这篇文章,你应该能够明白,但答案是:扭转它们

答案3

其他人已经提供了解释,但我想指出的是,嵌套的 if 通常难以阅读并且容易出错。

您可以考虑使用 IFS 来稍微清理一下逻辑

https://support.microsoft.com/en-us/office/ifs-function-36329a26-37b2-467c-972b-4a39bd951d45

或者更好的是,创建一个包含截止值的表,然后使用 Xlookup 或 Vlookup,并将匹配模式设置为 -1

https://support.microsoft.com/en-us/office/xlookup-function-b7fd680e-6d10-43e6-84f9-88eae8bf5929

https://support.microsoft.com/en-us/office/vlookup-function-0bbc8083-26fe-4963-8ab8-93a18ad188a1

未来你会感谢你让你的excel表更加清晰、整洁

答案4

我的答案并没有真正改善您已经给出的其他答案,它只是展示了我发现的一种使公式更易读的方法。一年后,当我必须编辑规则时,这将更容易做到,因为我使公式尽可能易读。

如果您可以访问 LET 公式,我会越来越多地使用它来编写更长的公式,并使用 alt-enter 来创建可读的换行格式。

所以我的方法更像是:

=LET(
a, {0, 10, 15, 25, 50, 100},
b, {0, 129920, 350591, 498636, 752640, 1231889},
XLOOKUP( B2, a, b, 0, -1) )

相关内容