嵌套 Excel 公式中的 3 个条件

嵌套 Excel 公式中的 3 个条件

我在嵌套公式中使用了 3 个条件,每个条件都有多个变量。到目前为止

=IF(I14=60,IF(AND(H10<10,D75=1),0.5,IF(I14=60,IF(AND(H10<30,D75=1),1,

等等。

当条件 1 保持在 60,条件 2 运行至 <10、<30、<50、<60 和 >60,条件 3 保持在 1 且输出符合要求时,此方法工作正常。

当我将条件 1 更改为 45 并按照上述方式运行条件 2,而其余条件(输出除外)保持不变时,它拒绝工作并返回 false。

我做错了什么,还是一个公式的函数太多了?我不熟悉 VLOOKUP 或 HLOOKUP 或数据透视表。请问有人能帮忙吗?

答案1

推断出您的公式,以便它确实有效并且是嵌套的,当第一个条件等于 60 时它确实可以正常工作。

但如果你把条件设置为 45,它实际上就可以正常工作。我的意思是在单元格 I14 中输入 60。但……除非你以以下两种方式之一更改公式:

1) 将您要测试的值更改为“<45”,而不是 60。当然,这可能变得毫无意义,所以让我们考虑第二种方法。

2) 我在这里猜测一下,但是……在公式的最后,您是否指定了最后一个可能的条件?考虑“=IF(A1=1,2,3)”,在该公式中,最后一个可能的条件是“3”。很明显,您没有在短公式中放入条件,而在长嵌套中则不那么明显。事实上,许多人都懒得计算在末尾要添加多少个括号,只是按 Enter,然后接受 Excel 建议的 10 个或任何括号。

但这样最后一个条件就未指定了。这不会产生错误,因为您绝对可以这样做。但如果您的 IF 子句在整个过程中没有选择条件,Excel 会转到最后一个条件(即每个 IF() 都测试为假的条件),然后 Excel 将返回最后一个条件(上述简单公式中的“3”)。

但是,如果没有指定,Excel 会怎么做?嗯……它会返回当时的状态:“FALSE”。当您在 I14 中输入 45 时,您会在每个 IF() 处测试 false,并且需要该最终条件。否则您会得到“FALSE”作为结果。

由于您得到的是这个结果,而不是某些错误,我建议您转到公式的最后一部分,在(我猜的!)“2.5”后添加一个逗号,然后添加您希望在条件 2 >60 时返回的任何内容。所以也许“,”全部失败!“......但无论如何都会有一些东西。

相关内容