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的结论
展开
 我来答
合标儒W
推荐于2016-04-23 · 知道合伙人养生行家
合标儒W
知道合伙人养生行家
采纳数:1030 获赞数:29890
就读于河南中医学院针灸推拿学,现为学生,读过医学类书籍近百本。

向TA提问 私信TA
展开全部
日期函数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")
猫国队长
2020-02-28 · 一只像美国队长的猫的日常
猫国队长
采纳数:5 获赞数:37

向TA提问 私信TA
展开全部
Excel中 month函数默认值为1的问题, 例如公式=month(单元格)当单元格为空,结果会是1。
解决方法还可以是首选判断单元格是否空白无数据,是则显示结果为“0”,否则就显示月份。
=IF(ISBLANK(单元格),0,month(单元格))
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友67395fbd3
推荐于2020-02-26 · TA获得超过236个赞
知道答主
回答量:51
采纳率:0%
帮助的人:43.4万
展开全部
如果是要实现问题补充描述的问题
=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)
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ngjtyw
2010-05-27 · TA获得超过6582个赞
知道大有可为答主
回答量:7192
采纳率:33%
帮助的人:3954万
展开全部
=IF(OR(MONTH(A1)<>1,A1=0),A2-A3,)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
芮城老憨
2010-05-27 · TA获得超过5064个赞
知道大有可为答主
回答量:3744
采纳率:0%
帮助的人:2514万
展开全部
=IF(A1<>"",MONTH(A1),A2-A3)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式