Excel中 month函数默认值为1的问题
在Excel中用month取月份值,但因为系统默认的日期是1900-1-1,即如果A1为空,MONTH(A1)=1,就会出现这样的问题,例如:如果A1=2010-1-3那...
在Excel中用month取月份值,但因为系统默认的日期是1900-1-1,即如果A1为空,MONTH(A1)=1,就会出现这样的问题,例如:
如果 A1=2010-1-3
那么 B1=IF(MONTH(A1)=1,0,A2-A3)
结果为 B1=0
那么就会出现这样的情况:但如果A1为空,但是B1还是=0,而不等于A2-A3
请问怎么解决?
是为了解决如果A1为空,B1能得出A2-A3的结论,
同时,如果A1=2010-2-1或任意某一月,B1仍能得出A2-A3的结论 展开
如果 A1=2010-1-3
那么 B1=IF(MONTH(A1)=1,0,A2-A3)
结果为 B1=0
那么就会出现这样的情况:但如果A1为空,但是B1还是=0,而不等于A2-A3
请问怎么解决?
是为了解决如果A1为空,B1能得出A2-A3的结论,
同时,如果A1=2010-2-1或任意某一月,B1仍能得出A2-A3的结论 展开
推荐于2016-04-23 · 知道合伙人养生行家
关注
展开全部
日期函数month(单元格),单元格内为日期,则提取出数字月份。应使用日期,如果以文本形式输入,则会出问题。
问题一:单元格为空值时,month函数提出数值为1.
经查,问题的原因是:真空参与数值运算时也被认为0。0作为日期是表示1900-1-0,是一个虚拟的日期,输入0然后设置单元格为日期型格式即可看到。故month结果为1月。
解决方法一:可用if(单元格="","",month(单元格)&“月”)的方式,空格将直接转为不显示。
解决方法二:
问题二:month(单元格)可以得出月份,如果直接用month(2012-01-4),则得出6,不是真值。
原因:month内取数为日期,上面为算术表达式,计算如下
=MONTH(2012-01-04)
=MONTH(2012-5)
=MONTH(2007)
=MONTH("1905-6-29"):数值转为日期
=6
正确的可用month("2012-01-04")
问题三:如何用将日期用英文表达?不用Month函数,用关于日期的相关定义
解决办法:配合TEXT函数使用,用TEXT(单元格,"mmm")或text(month(单元格,"mmm")
问题一:单元格为空值时,month函数提出数值为1.
经查,问题的原因是:真空参与数值运算时也被认为0。0作为日期是表示1900-1-0,是一个虚拟的日期,输入0然后设置单元格为日期型格式即可看到。故month结果为1月。
解决方法一:可用if(单元格="","",month(单元格)&“月”)的方式,空格将直接转为不显示。
解决方法二:
问题二:month(单元格)可以得出月份,如果直接用month(2012-01-4),则得出6,不是真值。
原因:month内取数为日期,上面为算术表达式,计算如下
=MONTH(2012-01-04)
=MONTH(2012-5)
=MONTH(2007)
=MONTH("1905-6-29"):数值转为日期
=6
正确的可用month("2012-01-04")
问题三:如何用将日期用英文表达?不用Month函数,用关于日期的相关定义
解决办法:配合TEXT函数使用,用TEXT(单元格,"mmm")或text(month(单元格,"mmm")
展开全部
Excel中 month函数默认值为1的问题, 例如公式=month(单元格)当单元格为空,结果会是1。
解决方法还可以是首选判断单元格是否空白无数据,是则显示结果为“0”,否则就显示月份。
=IF(ISBLANK(单元格),0,month(单元格))
解决方法还可以是首选判断单元格是否空白无数据,是则显示结果为“0”,否则就显示月份。
=IF(ISBLANK(单元格),0,month(单元格))
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果是要实现问题补充描述的问题
=IF(OR(A1="",AND(MONTH(A1)>1,MONTH(A1)<=12)),A2-A3,0)
不过A1中的内容一定要为空或者数值,如果是文本的话,month(A1)的公式会是错值。如果a1有可能是文本的话,可以改用:
=IF(ISLOGICAL(OR(A1="",AND(MONTH(A1)>1,MONTH(A1)<=12))),A2-A3,0)
=IF(OR(A1="",AND(MONTH(A1)>1,MONTH(A1)<=12)),A2-A3,0)
不过A1中的内容一定要为空或者数值,如果是文本的话,month(A1)的公式会是错值。如果a1有可能是文本的话,可以改用:
=IF(ISLOGICAL(OR(A1="",AND(MONTH(A1)>1,MONTH(A1)<=12))),A2-A3,0)
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
=IF(OR(MONTH(A1)<>1,A1=0),A2-A3,)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
=IF(A1<>"",MONTH(A1),A2-A3)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询