案例:计算星期几
除了年月日和时分秒,我们还会使用的是星期数,如今天是星期几。在Excel的函数中有WEEKDAY函数,它的语法是:
WEEKDAY(serial_number,[return_type])
其中,serial_number参数是指定的日期;return_type参数对应数字的含义如图13-1所示。
图13-1WEEKDAY函数参数说明
简单记忆,使用数字“2”即可。因为数字2返回的结果是以星期一为一周的起点,将星期一到星期日返回结果对应为1到7,这种方式相对其他参数来说,比较直观,可以直接看出来当前日期是星期几。
如图13-2所示,在D9单元格中输入以下公式,并向下复制到D22单元格,即可得到C列对应的日期:
=WEEKDAY(C9,2)
图13-2WEEKDAY示例
13.2计算几个月后的日期或月底日期
下面要介绍的两个函数,使用后可使公式大大缩短。
n月后日期:
EDATE(start_date,months)
n月后月底日期:
EOMONTH(start_date,months)
其中,参数months可以为正数,也可以为负数或零。
EDATE函数是计算几个月后对应的日期,EOMONTH函数是计算几个月后的月底的日期。
经常有同学将EOMONTH拼错了,我们可以这样记忆:EOMONTH缩写于EndOfMONTH,提取相应的字头就形成了EOMONTH。
1.常规使用
如图13-3所示,C11单元格为任意日期,这里为2017/2/8,D列为EDATE函数的相应公式。
图13-3EDATE与EOMONTH的常规使用
D11单元格“=EDATE($C$11,5)”,计算5个月后的对应日期,结果为2017/7/8。
D12单元格“=EDATE($C$11,0)”,计算0个月后的对应日期,结果为2017/2/8。
D13单元格“=EDATE($C$11,-4)”,计算-4个月后的对应日期,也就是4个月前,结果为2016/10/8。
F列为EOMONTH函数的相应公式。
F11单元格=“EOMONTH($C$11,5)”,计算5个月后的月底日期,结果为2017/7/31。
F12单元格=“EOMONTH($C$11,0)”,计算当月的月底日期,结果为2017/2/28。
F13单元格=“EOMONTH($C$11,-4)”,计算-4个月后的月底日期,也就是4个月前,结果为2016/10/31。
2.对月底日期的处理
对于月底最后一天日期分别是30和31日的情况,EOMONTH函数在处理过程中没有任何差异,而EDATE函数处理时会有一些区别。
(1)日期为月底31日。
如图13-4所示,起始日期为某月的31日,如2017/1/31,而几个月后有31日的,就返回对应的结果,如2017/7/31。如果当月没有31日,则返回相应月份月底的最后一天,如2016/9/30、2017/2/28等。