文章来源:幸福的耗子
在互联网上,人们常常会通过网络搜索万年历来查询特定日期对应的星期几,以及当天的放假安排。为此,我亲自动手,利用Excel制作了一个简易的万年历。虽然这个万年历的实际用途可能并不广泛,但我制作它的主要目的是为了重温自己以前学过的Excel公式。下面,我将与大家分享我的制作思路,希望能得到大家的谅解,若有不妥之处,还请海涵。
Step1:万年历的基本布局
首先,我们需要设计万年历的基本布局。具体步骤如下:
- 在J列和K列创建年月列表。
- 在C1和E1单元格中,通过数据验证功能建立下拉选项。
Step2:显示今天的日期、星期和当前时间
接下来,在Excel中设置以下公式:
- 在C14单元格中输入公式:
=TODAY()
,以显示今天的日期。 - 在F14单元格中输入公式:
=IF(WEEKDAY(C14,2)=7,'日',WEEKDAY(C14,2))
,以显示今天的星期几。 - 在H14单元格中输入公式:
=NOW()
,以显示当前时间。
Step3:创建日历面板的核心环节
以下是创建日历面板的核心步骤:
-
判断当前月份的总天数。在A3区域输入公式:
=IF(OR(E1=1,E1=3,E1=5,E1=7,E1=8,E1=10,E1=12),31,IF(OR(E1=4,E1=6,E1=9,E1=11),30,IF(MOD(C1,4)=0,29,28)))
。 -
判断选择年份月份的第一天是星期几。在B3单元格中输入公式:
=IF(WEEKDAY(DATE($C$1,$E$1,1),2)=B4,1,0)
,并将该公式拖动到H3单元格。 -
在B7单元格中输入公式:
=IF(B3=1,1,0)
,以判断第一天是否为星期日。 -
在B8单元格中输入公式:
=H7+1
,回车后填充到B10单元格,以实现上一行下一日换行显示。 -
在B11单元格中输入公式:
=IF(H10>=A3,0,H10+1)
,以判断是否已经超过当前月份的天数。 -
在B12单元格中输入公式:
=IF(H11>=A3,0,IF(H11>0,H11+1,0))
,以判断是否已经超过当前月份的天数。 -
在C7单元格中输入公式:
=IF(B7>0,B7+1,IF(C3=1,1,0))
,以显示当前日期,并填充到H7单元格。 -
在C8单元格中输入公式:
=B8+1
,并填充到H10单元格。 -
在C11单元格中输入公式:
=IF(B11>=$A$3,0,IF(B11>0,B11+1,IF(C7=1,1,0)))
,并填充到C12以及到H11单元格。
Step4:设置Excel显示
-
在Excel设置中,将0的部分设置为不显示。
-
最后,隐藏不需要显示的列或行,修饰文字单元格边框,完成所有操作。
微信公众号:自学成才Excel
新朋友长按下方二维码进行关注!
ID:selftt
学习5分钟,工作省2小时!
Excel技巧基础+函数+透视表+VBA