试图了解嵌套IF公式

时间:2016-05-23 16:47:22

标签: excel-formula

在之前的一个问题中,我询问过将日期列格式化为MM / DD / YYYY时返回月份编号。堆栈溢出成员(Macro Man)提供了答案=MONTH(B1),并且它按预期工作。

我了解到,当细胞空白时,它也返回了数字1。这将导致1月份出现问题。我找到了一个IF公式,如果B1为空,则返回0:

 =IF(ISNUMBER(B91),B91,0)

我想要做的是,如果B1为空,则答案为零,如果B1不为空,则返回该月的数字。这是我开始使用的公式:

=IF(ISNUMBER(B91),B91,0,MONTH(B90))

当我测试公式时,我收到此消息"您已为此功能输入了太多参数。"

你能解释一下我做错了什么吗?如何纠正错误?

1 个答案:

答案 0 :(得分:1)

IF公式由3部分组成

  • 逻辑
  • 真实结果
  • 错误结果(可选)

    = IF(逻辑,真实结果,错误结果)

您输入的结果多于IF可以处理的结果。

因此,为了减少IF公式处理的参数(结果)数量,我们使您的公式看起来像:

=IF(ISNUMBER(B91),MONTH(B91),0)

作为您的ISNUMBER的替代品并缩短您的公式,您可以测试它是否为空或“”而您的公式将如下所示:

IF(B91="",0,MONTH(B91))

此外,如果您不想显示0并且更喜欢空白单元格,则可以将上述内容调整为:

=IF(B91="","",MONTH(B91))

如果您预期其他形式的文本,则数字方法是更好的方法。