在之前的一个问题中,我询问过将日期列格式化为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))
当我测试公式时,我收到此消息"您已为此功能输入了太多参数。"
你能解释一下我做错了什么吗?如何纠正错误?
答案 0 :(得分:1)
IF公式由3部分组成
错误结果(可选)
= IF(逻辑,真实结果,错误结果)
您输入的结果多于IF可以处理的结果。
因此,为了减少IF公式处理的参数(结果)数量,我们使您的公式看起来像:
=IF(ISNUMBER(B91),MONTH(B91),0)
作为您的ISNUMBER的替代品并缩短您的公式,您可以测试它是否为空或“”而您的公式将如下所示:
IF(B91="",0,MONTH(B91))
此外,如果您不想显示0并且更喜欢空白单元格,则可以将上述内容调整为:
=IF(B91="","",MONTH(B91))
如果您预期其他形式的文本,则数字方法是更好的方法。