如何玩转excel日期函数?下面本篇文章带大家看懂90%的日期运算,今天涉及的函数会比较多,建议小伙伴们可以先收藏,再阅读~
一、计算上个月的同一天
小丽:“苗老师,我有一个问题,我想算一个月的环比情况,希望能直接和上个月的当天作对比,我本来想直接减30天,但是我算了才发现,有的月份是30天、31天,有的月份是28天、29天不定。怎么才能解决这个问题呢?”
苗老师:“这个好办,我教你一个函数,EDATE。这个函数就可以实现你的需求,我做一个示范给你看。”如图1所示。
图1
EDATE函数用于返回计算日期之前或之后指定月份的日期。它有两个参数,基本格式为EDATE(开始日期,间隔月数)。间隔月数可以为正数、负数、零,它们分别表示计算日期之后的月份,计算日期之前的月份和本月。如图2所示。
图2
如果要直接计算当天上月的日期,就直接把TODAY()放在公式里,如图3所示。
图3
小丽:“太好了,这样我就能交差了。”
EDATE函数是我们工作中十分常用的一个函数,它不仅能用于计算员工转正日期、合同到期日,还能计算产品有效期截止日等。
二、关于其他的日期函数
苗老师:“既然说到了这里,那我就干脆再多教你几个关于日期的函数。”
1. EOMONTH函数
它主要用于返回计算日期之前或之后指定月份的月末,结构和EDATE函数差不多。”如图4所示。
图4
除此之外,我们还可以通过简单的日期计算,使用EOMONTH函数得出相应的月初日期。如图5所示。
图5
通过EOMONTH函数算出上个月的月底日期后再+1,就变成了次月的1号。而且,EOMONTH函数还可以用来计算本月的天数,配合上DAY函数,我们就可以这么写,如图6所示。
图6
另外,我们还可以使用EOMONTH函数来判断本月还剩下多少天,如图7所示。
图7
2. DATEDIF函数
说完了EOMONTH函数,我们再说一个十分重要的日期函数,DATEDIF函数。这个函数用于计算两个日期之差,返回两个日期之间的年、月、日间隔数。我们可以使用这个函数计算某人的年龄,司龄,工龄等等。如图8所示。
图8
上图中DATEDIF函数的第三参数Y、M、D,分别代表返回两日期之间相隔的整年数、整月数、天数。不过这个函数有一个禁忌,就是函数里的第一个日期一定要小于第二个日期。
3. WEEKDAY函数
这个函数是关于星期的函数,用于返回一个日期在一个星期中的第几天,它有两个参数,基本格式为WEEKDAY(计算的日期,指定以星期几作为一周的第一天)。如果第二参数省略,则周日会作为一周的第一天。由于各地关于星期的习俗不同,有的国家以周天作为一周的第一天,有的国家以周一作为一周的第一天,此时,我们可以通过调整WEEKDAY函数的第二参数进行计算,如图9所示。
图9
但是一定会有人说,我们公司就是以周二作为一周的第一天,该怎么办呢?别急,这个函数还真考虑到了这些问题,如图10所示。
图10
4. WEEKNUM函数
最后再为大家介绍一个关于星期的函数WEEKNUM,这个函数可以返回指定日期是一年中的第几周,结构和EDATE函数差不多,第二参数用来指定以星期几作为一周的第一天。在省略第二参数时,同样以周日作为一周的第一天。如图11所示。
图11
总结:今天说的这些都是关于日期的函数,它们能帮助我们更好地在日常工作中进行日期的计算。下面的表格列出了今天讲解的所有函数公式,并附上了几个其他关于日期计算的方法,方便大家归纳和总结。
序号 |
说明 |
函数 |
1 |
返回计算日期之后指定月份的日期 |
=EDATE(TODAY(),1) |
2 |
返回计算日期之后指定月份的月末 |
=EOMONTH(TODAY(),1) |
3 |
计算两个日期相差的整年数 |
=DATEDIF(A2,B2,"Y") |
4 |
返回计算日期是本周的第几天 |
=WEEKDAY(TODAY(),2) |
5 |
返回计算日期位于一年中的第几周 |
=WEEKNUM(TODAY(),2) |
6 |
计算今天是本季度的第几天 |
=COUPDAYBS(TODAY(),"9999-1",4,1)+1 |
7 |
计算当前季度有几天 |
=COUPDAYS(TODAY(),"9999-1",4,1) |
8 |
计算今天属于第几个季度 |
=MONTH(MONTH(TODAY())*10) |