用EXCEL其实也可以做一份日历出来。我们只要熟练的使用weekday函数,不仅可以做出一个2019年的日历,还可以做出一个万年历,做一次表,一万年的日历都有了,这么实用的技能怎么可以不学?
当然了,干货君很为各位读者着想,可能有些读者并无耐心看枯燥的教程讲解,可以直接翻到文章末尾,直接按照领取方式领取干货君为各位制作的日历模板,此篇文章再点个收藏,日后有需求再慢慢研究也不迟。
用EXCEL做日历,主要就是要会用Weekday函数。我们首先制作一个大致的日历框架出来,具体步骤可以看下面的动图。
有一点需要强调一下,星期一列下面至少要空6行,因为有些月份日期就是横跨了6行
第二步当然就是填充公式了,weekday的语法格式是WEEKDAY(日期序号,[返回值类型]),鉴于中国人的使用习惯,这里的返回值类型我们选择2
weekday的日期需要部分我们构建一个当月的日期函数即可,比如我们可以在一月份的第一天输入=WEEKDAY(A1&"-"&A3,2)
最后的返回值是2,代表的是2019年1月1日是星期二,对照着系统上的时间表看下,发现2019年1月1日的确是星期二。
但我们在这里并不是要求出星期几,而是要求出对应的单元格是几号,怎么做呢?我们可以尝试着用当月的日期减去weekday函数求职的星期数,相当于将日期后退了几天。
这样我们第一个单元格内的日期数值就已经正确求出来了,整个公式基本的脉络也搭建好了,再之后我们需要考虑的是怎么构建日期的等差数列。
这是一个非常有规律的等差数列,我们可以用clounm和row函数即可构造一个这样的等差数列,具体函数公式为:=COLUMN(A:A)-1+ROW(1:1)*7-7
有了这个跟时间日期一样的等差数列之后我们只需要将这个公式加进前面的写好的weekday函数公式里面去即可。具体函数为=($A$1&"-"&$A$3)-WEEKDAY($A$1&"-"&$A$3,2)+COLUMN(A:A)-1+ROW(1:1)*7-7(年份和月份引用要固定起来)
这样整个月份的日历时间都已经正确写出了,最后只需要加一个IF函数判断日期是否是跟当月的月份相同,否则就显示为空。具体公式为=IF(MONTH(($A$1&"-"&$A$3)-WEEKDAY($A$1&"-"&$A$3,2)+COLUMN(A:A)-1+ROW(1:1)*7-7)=$A$3,($A$1&"-"&$A$3)-WEEKDAY($A$1&"-"&$A$3,2)+COLUMN(A:A)-1+ROW(1:1)*7-7,"")
整个公式就完全写好了。之后只需要将日期格式改为只显示天数即可。再将此公式套进其他月份内,将版式调整为A4,美化一下,整个日历表就完全做好了。