合并 3 个 Excel IF 语句

合并 3 个 Excel IF 语句

我尝试在 Excel 中连接以下 3 个 IF 语句,但每次尝试时都会出现参数错误,或者它会恢复显示“True”或“False”,而不是“Miss Window”、“Hit”、“Not Scheduled”和空白。

=IF(I2<E2,"Miss Window","Hit")

=IF(I2>F2,"Miss Window","Hit")

=IF(G5="off", "Not Scheduled", "")

有什么建议吗?

答案1

我假设您希望“Miss Window”、“Hit”或“Not Scheduled”显示在单个字段中。

If I2 Is NOT Empty (True = Next IF)
If I2<E2 - (True = Miss Window / False = Next IF)
If I2>F2 - (True = Miss Window / False = "Hit")

If I2 IS Empty
If G5 = "off" - (True = "Not Scheduled" / False = ""

以下是代码:

    =IF (I2 <> "", IF(I2<E2, "Miss Window", IF(I2>F2,"Miss Window","Hit")), IF(G5="off", "Not Scheduled", ""))]

答案2

ANDOR陈述是你的朋友。

=IF(OR(I2="", G5="off"), "Not Scheduled", AND(I2>=E2,I2<=F2), "Hit", "Miss Window")

答案3

要让 G5 主导(“覆盖”)公式,请先像 wbeard 那样测试它。只有在评估之后,您才能解决“命中”或“未命中”的问题。在考虑命中或未命中后可以做到这一点,但就像托勒密的本轮一样,如果有更简单、更合乎逻辑的方法,为什么要这样做呢?

鉴于上下文的物理性,I2 不需要测试条目。如果为空,它将被视为“0”,因此与 E2 和 F2 进行比较时自然不会出错。

这些是您的指导顺序(G5,然后是命中或未命中)和理论上的关注点,以加快您的电子表格或至少简化其逻辑(空白 I2 无需关注)。适当简化的逻辑似乎是一件温和的事情,但您的逻辑越清晰,就越容易维护(即:当您的老板有新想法时不断更改它)并审计错误。

如今,加快计算速度本身并不是很重要,除非有数以万计的公式实例,因为内存充足,CPU 速度非常快,但良好的做法可以保持你的思维敏锐,并在其他情况下获得回报,当某些“只是为了确保”或“作为一种良好的普遍做法”而添加的东西实际上没有任何价值时。

相关内容