制作日历

直接使用EXCEL创建日历

网上有现成的日历模板,通常全年都有农历、节气和节日。

我们今天制作简单的日历,填写年、月,制作有阴历和周的单月日历

这个日历可以看到从1900年1月1日开始的每月日历。

做这个日历的第一步是要先做一个公历日历来做辅助表

这是一个7*6的矩阵,只需要一个数组公式填充即可

{=IF(MONTH(DATE(YEAR(B2),MONTH(B2),1))MONTH(DATE(YEAR(B2),MONTH(B2),1)-(WEEKDAY(DATE(YEAR(B2),MONTH(B2),1))-1)+{0;1;2;3;4;5}*7+{1,2,3,4,5,6,7}-1),,DATE(YEAR(B2),MONTH(B2),1)-(WEEKDAY(DATE(YEAR(B2),MONTH(B2),1))-1)+{0;1;2;3;4;5}*7+{1,2,3,4,5,6,7}-1)}

选中7*6这42个单元格,填入公式,按下Ctrl+Shift+Enter三个键,生成日历。

这个公式引用的是单元格B2的内容,只要改变B2中的年月日,就会自动生成这个月的日历。

带有农历的日历,需要84个单元格:

1、3、5、7、9、11行用来显示公历,直接引用辅助表里的公历日历;

2、4、6、8、10、12行用来显示农历,用公历值计算农历,公式:=IFERROR(TEXT(E5,IF(–TEXT(E5,[$-130000]d)=10,初十,IF(–TEXT(E5,[$-130000]d)10,[$-130000][DBNum1]d,初[$-130000][DBNum1]d))),)。

其实这个函数就是设置显示格式的函数,从excel2007开始,就已经支持农历转换,就是用[$-130000]d来转换,其他的IF语句都是为了修饰“初一”到“初十”,和“十一”到“三十”的。

农历年是用这个公式:=MID(甲乙丙丁戊己庚辛壬癸,MOD(TEXT(B3,[$-130000]e)-4,10)+1,1)MID(子丑寅卯辰巳午未申酉戌亥,MOD(TEXT(B3,[$-130000]e)-4,12)+1,1)年

农历月用这个公式:=TEXT(B3,[$-130000][DBNum1]m月)

这里引用的B3单元格的内容不显示:=B2-C2

单元格B2是要显示的年份

单元格C2是要显示的月份

只要修改这两个单元格的内容,就会自动生成含有农历的日历了。

相关推荐