excel学习库

excel表格_excel函数公式大全_execl从入门到精通

EXCEL怎么算出两个日期之间的月份?

收到粉丝提问:EXCEL怎么算出两个日期之间的月份?

本来两个人按照要求肝了一个星期,好不容易合并了的时间,交过去又说只要月份,试了网上找的各种办法都弄不了。

差不多有5000多行要弄。的心都有了。具体数据如图所示:

要计算图中这种格式的日期之间的月份数,可以使用IF嵌套函数公式来实现。通过IF结合DATEDIF函数来计算月份。

从图中可以看出,存在两种情况,一是空值,二是非空值,在非空值的情况下又分为有横杠“-”的日期段和单独的日期。

因此,可以使用下面的公式来计算月份:

=IF(A2="",A2,IF(ISNUMBER(FIND("-",A2)),DATEDIF(DATE(LEFT(A2,4),MID(A2,5,2),1),DATE(MID(A2,FIND("-",A2)+1,4),RIGHT(A2,2),1),"m")+1,1))+IF(B2="",B2,IF(ISNUMBER(FIND("-",B2)),DATEDIF(DATE(LEFT(B2,4),MID(B2,5,2),1),DATE(MID(B2,FIND("-",B2)+1,4),RIGHT(B2,2),1),"m")+1,1))

这个公式看似冗长复杂,其实很好理解,由于需要计算的数据位于两列,因此该公式由两部分相加组成。

公式释义:

1. 通过文本函数LEFTMIDRIGHT提取文本

LEFT(E13,4)从左侧开始提取4个字符的文本,返回2017

MID(E13,5,2)从第5个字符的位置开始提取2个字符的文本,返回04

MID(E13,FIND("-",E13)+1,4)从符号“-”的下一位置开始提取4个字符的文本,返回2017

RIGHT(E13,2)从右侧开始提取2个字符的文本,返回06

2. 通过日期函数DATE将年月转换为日期格式

DATE(LEFT(E13,4),MID(E13,5,2),1):将提取出来的文本转为日期格式,返回2017/4/1

DATE(MID(E13,FIND("-",E13)+1,4),RIGHT(E13,2),1):将提取出来的文本转为日期格式,返回2017/6/1

3. 通过DATEDIF函数计算月份数

DATEDIF(DATE(...),DATE(...),"m")DATEDIF 函数用于计算两个日期之间的差异,“m”代表月份。

4. IF嵌套公式根据不同情况返回指定值

IF(E13="",E13,IF(ISNUMBER(FIND("-",E13)),DATEDIF(...,"m")+1,1)):首先判断E13是否为空值,若为空值等于本身,否则,再判断E13中是否有符号“-”,若有该符号,则分别提取文本转为日期并计算日期间的月份数,反之,返回数字1

通过以上分享的函数公式就能快速计算月份数,若还有疑问或者分享更好的方法,欢迎留言交流哦~

想了解更多精彩内容,快来关注

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2024年12月    »
1
2345678
9101112131415
16171819202122
23242526272829
3031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
      友情链接