今天跟大家分享的是用Excel制作一个日历表/万年历,简单实用,一学就会,只需3个函数几分钟轻松搞定!
一、先介绍一下需要的3个函数
1、SEQUENCE函数
功能:生成一系列的连续数字或多行多列的等差数列
语法:=SEQUENCE(行数,[列数],[开始数],[增量])
2、DATE函数
功能:返回代表特定日期的序列号
语法:=DATE(年份,月份,天数)
3、WEEKDAY函数
功能:返回某日期为星期几
语法:WEEKDAY(日期,[返回值类型])
备注:如果我们把返回值类型设置为2,返回值为 1(星期天)到 7(星期六)之间的整数。
二、制作日历表/万年历必备知识点
如果我们想在Excel中制作一个日历表/万年历的话,我们必须要知道一个规律:
某个日期减去这个日期对应的星期数再加上1,就一定会得到这个日期所在周的周一的日期
如下图所示,我们用日期2024-3-6减去它对应的星期数3再加上1,结果为2024-3-4就是3-6号所在周的周一。
三、构建日历表/万年历日期
如下图所示,先制作一个日历表/万年历表格,表格中预留6行7列的空白单元格,用来构建日期
然后,在B3单元格中输入公式:
=SEQUENCE(6,7,DATE(C1,F1,1)-WEEKDAY(DATE(C1,F1,1),2) 1,1)
然后点击回车即可
解读:
①公式中DATE(C1,F1,1)就是构建指定月份的1号日期;WEEKDAY(DATE(C1,F1,1),2)就是获取对应日期的星期数。
②我们虽然不确定指定月份的1号是否属于周一,但是我们可以使用指定月份的1号日期减去对应日期的星期数再加上1,就是
DATE(C1,F1,1)-WEEKDAY(DATE(C1,F1,1)
这样我们就获得了指定月份的1号所在周周一的日期。
③最后我们在用SEQUENCE函数生成6行7列,开始数:为指定月份的1号所在周周一的日期,增量为1,这样就生成了指定月份的所有日期。
四、把日历中的日期改成只显示几号
①修改日期显示类型
首先全选日期数据→然后点击组合键【Ctrl 1】调出“单元格格式”窗口→在自定义选项下把【类型】改成d→最后点击确定即可
②批量调整列宽
首先通过单击左上角绿色倒三角全选工作表→移动鼠标到列标处,当鼠标变成双向箭头时,双击两列之间的竖线即可。
五、隐藏不属于指定月份的日期
我们可以使用条件格式,将不属于指定月份的日期,通过格式中的自定义格式,在类型中输入“;;;”,从而达到隐藏数据的效果
首先选择日期数据区域→打开【条件格式】-【新建规则】调出“新建格式规则”窗口→选择【使用公式确定要设置格式的单元格】将公式设置为:=MONTH(B3)<>$F$1→然后点击右下角的【格式】找到【自定义】将【类型】设置为“;;;”即可。
评论 (0)