母亲节是一个感谢母亲的节日。世界各国母亲节的日期不尽相同。
母亲节的具体日期是哪天呢?中国母亲节日期是每年5月份的第2个星期日是母亲节。
2012年母亲节是哪天呢?根据5月份的第2个星期日推算出来,2012年母亲节的具体日期是:2012年5月13日。
尽管用系统自带工具日历一类的,很容易就能查看到2012母亲节是那一天。但对我们excel发烧友来说,使用excel的日期函数也是很容易获取到2012年母亲节日期的。
以在excel中计算2012母亲节为例,来说明这类有年、月、周、天组合的特殊日期的计算方法。明白了方法,类似母亲节、父亲节这一类特殊日期就只是修改一下数据源的问题。
使用内置函数获取2012母亲节具体日期的方法:B1:B4单元格分别是对应的2012年5月第2周的第1天,即为母亲节的具体日期。
我们在B5单元格输入公式:=DATE(B1,B2,1)+B4-WEEKDAY(DATE(B1,B2,1))+(B3-(B4>=WEEKDAY(DATE(B1,B2,1))))*7
除了上面使用excel内置函数完成以外,还可以自己编写一个自定义函数来实现:按ALT+F11,打开VBE编辑器,插入――模块,复制下面的代码,返回工作表B5单元格输入:=日期(B1,B2,B3,B4),就可以得到2012年母亲节的具体日期是:2012-5-13。
这个自定义函数表示在每年的第几个星期的周几。
Function日期(OptionalByValYeaAsInteger=0,OptionalByValMonAsInteger=0,_
OptionalByValNumAsInteger=0,OptionalByValWeeAsInteger=0)AsDate
'定义四个参数:Yea为年,Mon为月,Num为周次,Wee为周几。
'参数省略时默认为0
IfYea=0ThenYea=Year(Now())'如果参数为0,就默认为当年
IfMon=0ThenMon=Month(Now())'如果参数为0,就默认为当月
IfNum=0ThenNum=1'如果参数为0,就默认为第一周
IfWee=0ThenWee=7'如果参数为0,就默认为周日
日期=Num*7-7+WeeMod7+1-Int((WeeMod7+1-DateSerial(Yea,Mon,1))/7)*7
EndFunction





