如何在 Excel 2010 上创建具有 3 个以上条件的条件嵌套公式?

如何在 Excel 2010 上创建具有 3 个以上条件的条件嵌套公式?

我有“A、B、C 和 D”。我需要“如果 a>0,则使用 a,否则使用 b。如果 b 有错误“#N/A”,则使用 c,否则使用 b。如果 c=0,则使用 d/61,否则使用 c。

到目前为止,我有这个:

=IF(DB11>0,DB11,IF(ISNA(DA11),CZ11,IF(CZ11=0,BE11/61,CZ11)))

其中:DB11 = 0(A)、DA11 = #N/A(B)、CZ11 = 138(C)和 BE11 = 6000(D)

答案1

我认为重新表述你的条件可能会帮助你看到你哪里做错了。换个方式想想:

If `a>0`, then `a`. Otherwise, check if `b=#N/A`.
  If `b=#N/A`, then check if `c=0`. Otherwise, `b`.
    If `c=0`, then `d/61`. Otherwise, `c`.

请注意第一行和您描述的内容之间的区别。您直接跳到“使用b”,然后b在您已经说要使用它之后检查是否满足条件。这在嵌套条件语句中不起作用。如果您得出某个结论,那么它就完成了;不会检查其他条件。

a=0为了说明这一点,请考虑、b=#N/Ac=0和的情况d=61。您预计结果为1。计算公式如下:

=IF(0>0,DB11,IF(ISNA(DA11),CZ11,IF(CZ11=0,BE11/61,CZ11)))
=IF(FALSE,DB11,IF(ISNA(DA11),CZ11,IF(CZ11=0,BE11/61,CZ11)))
=IF(ISNA(DA11),CZ11,IF(CZ11=0,BE11/61,CZ11))
=IF(ISNA(#N/A),CZ11,IF(CZ11=0,BE11/61,CZ11))
=IF(TRUE,CZ11,IF(CZ11=0,BE11/61,CZ11))
=CZ11
=0

由于对 上的条件的检查b以 结束,因此从未检查过c上的条件。这就是您错误的根源。c

您的公式的构建方式如下。

=IF(DB11>0,DB11,IF(ISNA(DA11),IF(CZ11=0,BE11/61,CZ11),DA11))

为了说明其工作原理,请看与上面相同的示例。

=IF(0>0,DB11,IF(ISNA(DA11),IF(CZ11=0,BE11/61,CZ11),DA11))
=IF(FALSE,DB11,IF(ISNA(DA11),IF(CZ11=0,BE11/61,CZ11),DA11))
=IF(ISNA(DA11),IF(CZ11=0,BE11/61,CZ11),DA11)
=IF(ISNA(#N/A),IF(CZ11=0,BE11/61,CZ11),DA11)
=IF(TRUE,IF(CZ11=0,BE11/61,CZ11),DA11)
=IF(CZ11=0,BE11/61,CZ11)
=IF(0=0,BE11/61,CZ11)
=IF(TRUE,BE11/61,CZ11)
=BE11/61
=61/61
=1

相关内容