Excel中 month函数默认值为1的问题

[复制链接]
查看11 | 回复5 | 2016-4-23 20:39:24 | 显示全部楼层 |阅读模式
在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的结论

回复

使用道具 举报

千问 | 2016-4-23 20:39:24 | 显示全部楼层
日期函数month(单元格),单元格内为日期,则提取出数字月份。应使用日期,如果以文本形式输入,则会出问题。 问题一:单元格为空值时,month函数提出数值为1.经查,问题的原因是:真空参与数值运算时也被认为0。0作为日期是表示1900-1-0,是一个虚拟的日期,输入0然后设置单元格为日期型格式即可看到。故month结果为1月。解决方法一:可用if(单元格="","",month(单元格)&“月”)的方式,空格将直接转为不显示。解决方法二: 问题二:month(单元格)可以得出月份,如果直接用month(2012-01-4),则得出6,不是真值。原因:month内取数为日期,上面为算术表达式,计算如下 =MONT
回复

使用道具 举报

千问 | 2016-4-23 20:39:24 | 显示全部楼层
Excel中 month函数默认值为1的问题, 例如公式=month(单元格)当单元格为空,结果会是1。解决方法还可以是首选判断单元格是否空白无数据,是则显示结果为“0”,否则就显示月份。=IF(ISBLANK(单元格),0,month(单元格))
回复

使用道具 举报

千问 | 2016-4-23 20:39:24 | 显示全部楼层
如果是要实现问题补充描述的问题=IF(OR(A1="",AND(MONTH(A1)>1,MONTH(A1)1,MONTH(
回复

使用道具 举报

千问 | 2016-4-23 20:39:24 | 显示全部楼层
=IF(OR(MONTH(A1)1,A1=0),A2-A3,)
回复

使用道具 举报

千问 | 2016-4-23 20:39:24 | 显示全部楼层
=IF(A1"",MONTH(A1),A2-A3)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行