如何在 Excel 中的 IF 嵌套中添加 AND 函数来检查多个单元格

如何在 Excel 中的 IF 嵌套中添加 AND 函数来检查多个单元格

我们尝试追踪我们的产品是如何制造的,如果产品按时完成,我们会在 J 列中记录产品是按时、延迟还是提前,使用以下公式:

=IF(K8>0,"迟到",IF(K8<0,"提前",,"准时"))

即检查已完成数量列是否有数字,然后检查完​​成日期,并在 K 列中记录到期日和完成日期之间的差值。但这并没有记录尚未完成的产品。我们还想将这些产品显示为 LATE。我尝试添加嵌套的 AND 函数,如下所示:

=IF(K8>0,"迟到",IF(K8<0,"提前","准时"))+IF(AND(K8="", L8>=1), "迟到", "")

但说实话,我对 Excel 的了解并不是很丰富,而且我显然根本没有做到这一点。

我可以向该公式添加 AND 函数吗?或者是否有其他方法更适合此任务?

非彩色单元格显示产品尚未完成,但即使已过了到期日,也未在 J 列中记录为逾期

答案1

您走在正确的轨道上,但您不必尝试添加两个 IF 语句,而是可以将 K 列中的空白添加为另一个 IF 语句,如下所示:

=IF(AND(K8="",L8>=1),"LATE",IF(K8>0,"LATE",IF(K8<0,"EARLY","ON TIME")))

或者像这样的 OR 语句:

=IF(OR(AND(K8="",L8>=1),K8>0),"LATE",IF(K8<0,"EARLY","ON TIME"))

使用 ISBLANK 可能不起作用。如果 K 列中有一个公式,如果该列为零则返回“”,那么它实际上不是空白的。

答案2

这应该有效:

=IF(K8<>"",CHOOSE(((K8<0)*1)+((K8=0)*2)+((K8>0)*3),"提前,"准时","迟到"),CHOOSE(1+(L8>=1),"","迟到"))

解释:

第一个 IF 语句检查 K8 中是否为空值。如果 K8 不为空,则传递给 CHOOSE 函数。

CHOOSE 测试公式使用逻辑门“(K8<0)”,其结果为 TRUE 或 False。如果门为 TRUE,则值为 1;如果门为 FALSE,则值为 0。门将乘以 1、2 或 3,具体取决于哪个为真。由于门是互斥的,您将获得 1、2 或 3 的值,CHOOSE 函数将从列表中选择匹配的文本。

如果 K8 为空,即 =“”,则第二个 CHOOSE 函数将根据 L8 的值是 1 或 2,使用类似的逻辑门方法

相关内容