如何使用Excel手工制作万年历(只需公式)
我们知道Excel中,有强大的日期公式,有许多日期函数可以使用。本文分享给大家如何使用Excel公式,打造实用的万年历。
操作方法
- 01
首先,新建一个Excel文件。
- 02
在图示红框位置的单元格区域输入相应公式。 其中, B1 =TODAY() F1 =IF(WEEKDAY(B1,2)=7,"日",WEEKDAY(B1,2)) H1 =NOW()
- 03
在第2行,单元格A2到H2 分别输入公式 A2 =IF(F13=2,IF(OR(D13/400=INT(D13/400),AND(D13/4=INT(D13/4),D13/100<>INT(D13/100))),29,28),IF(OR(F13=4,F13=6,F13=9,F13=11),30,31)) B2 =IF(WEEKDAY(DATE($D$13,$F$13,1),2)=B3,1,0) C2 =IF(WEEKDAY(DATE($D$13,$F$13,1),2)=C3,1,0) D2 =IF(WEEKDAY(DATE($D$13,$F$13,1),2)=D3,1,0) E2 =IF(WEEKDAY(DATE($D$13,$F$13,1),2)=E3,1,0) F2 =IF(WEEKDAY(DATE($D$13,$F$13,1),2)=F3,1,0) G2 =IF(WEEKDAY(DATE($D$13,$F$13,1),2)=G3,1,0) H2 =IF(WEEKDAY(DATE($D$13,$F$13,1),2)=H3,1,0)
- 04
在单元格B6到H6分别输入公式 B6 =IF(B2=1,1,0) C6 =IF(B6>0,B6+1,IF(C2=1,1,0)) D6 =IF(C6>0,C6+1,IF(D2=1,1,0)) E6 =IF(D6>0,D6+1,IF(E2=1,1,0)) F6 =IF(E6>0,E6+1,IF(F2=1,1,0)) G6 =IF(F6>0,F6+1,IF(G2=1,1,0)) H6 =IF(G6>0,G6+1,IF(H2=1,1,0))
- 05
在单元格B10到H10,分别输入公式 B10 =IF(H9>=A2,0,H9+1) C10 =IF(B10>=$A$2,0,IF(B10>0,B10+1,IF(C6=1,1,0))) D10 =IF(C10>=$A$2,0,IF(C10>0,C10+1,IF(D6=1,1,0))) E10 =IF(D10>=$A$2,0,IF(D10>0,D10+1,IF(E6=1,1,0))) F10 =IF(E10>=$A$2,0,IF(E10>0,E10+1,IF(F6=1,1,0))) G10 =IF(F10>=$A$2,0,IF(F10>0,F10+1,IF(G6=1,1,0))) H10 =IF(G10>=$A$2,0,IF(G10>0,G10+1,IF(H6=1,1,0))) 最后在单元格B7和H9输入图示公式。
- 06
在图示绿色方框位置的单元格区域输入文字和数字。 其中,I列,依次输入年份数字1900到2050 J列,依次输入月份数字,1到12
- 07
这是输入全部公式和文字后的效果。
- 08
下面,我们需要做美化。 首先,打开视图选项,取消勾选网格线。 将网格线隐藏。
- 09
设置日历边框,以及设置字体居中对齐。 将标题字体显示得更加醒目一些。 设置相同的字体颜色和背景色 将不需要展示的内容隐藏
- 10
最后,为了能够实现查询日期的功能。 需要在单元格D13,设置数据有效性。
- 11
在单元格F13月份,同样设置一下数据有效性。
- 12
最后有个问题,单元格H1时间不能实时更新, 我们可以按下F9,让它随时更新。 当然,你也可以使用VBA,让它实时更新。但不在我们的讨论范围内。 有需要可以咨询,再来专门详细分享一下。