2023年日历表的层层面纱,你也可以做出2023

我之前写过如何制作一个简单的日历

今天做了一个升级版,如下图:

通过控制自动切换日历中的月份、日期、农历、下班状态!

是不是特别酷呢?

接下来,我将揭开这个日历的层层面纱。

公众号后台回复:呵呵,你可以获取这个日历的源文件。 (PS.这个日历是2024年的,相信看完这篇文章你也可以制作2023年的日历)

看看

首先我们需要制作日历表的外观。 日历表中,每个格子三行两列,共6行7列。

单元格 E3 为 2024,对应的数字格式为年份 0。

单元格E4为1,对应的数字格式为月份0。

▋插入控件

在【开发工具】选项卡下,点击【插入】-【数值调节旋钮】。

右键单击该控件并选择[设置控件格式]。

在设置对象窗口中,最小值为1,最大值为12,单元格链接为F4。 (月份为1-12,因此最小值为1,最大值为12)

附言。 如果没有【开发工具】选项卡,请在【文件】-【选项】-【自定义功能区】中调出。

创建基本外观后,下一步就是编写公式。

写一个公式

如下图所示,在单元格E7中输入以下公式:

=日期($E$3,$F$4,1)-(日期($E$3,$F$4,1),2)+INT((A:A)/2)+INT((ROW(1:1) )-1)/3)*7

▲ 左右滑动查看

如下图所示,在F7单元格中输入以下公式:

=IF(MONTH(E7)=$F$4,((E7,参数列表!$A:$D,4,0),""),"")

▲ 左右滑动查看

如下图所示,在单元格E8中输入以下公式:

=IF(MONTH(E7)=$F$4,((E7,参数列表!$A:$D,3,0),""),"")

▲ 左右滑动查看

填写最后的公式即可~

如图动画所示,选择E7:F9,从右往下填写公式。

小提示:

E7细胞功能公式:

=日期($E$3,$F$4,1)-(日期($E$3,$F$4,1),2)+INT((A:A)/2)+INT((ROW(1:1) )-1)/3)*7

▲ 左右滑动查看

公式的前半部分是求:

当月 1 号之前的星期日的日期。

=日期($E$3,$F$4,1)-(日期($E$3,$F$4,1),2)

▲ 左右滑动查看

后半部分要求:

当月 1 日之前的星期日,即根据公式前半部分得出的日期。

需要添加多少个间隔才能获取当前单元格的日期。

=INT((A:A)/2)+INT((行(1:1)-1)/3)*7

▲ 左右滑动查看

例如,2024 年 1 月 1 日是当月 1 号之前的星期日(2024 年 12 月 26 日)+ 6。

F7细胞功能公式:

=IF(MONTH(E7)=$F$4,((E7,参数列表!$A:$D,4,0),""),"")

▲ 左右滑动查看

如下图所示,如果左边的日期是本月的日期,则使用该函数查找对应日期对应的下班状态,否则显示为空。

E8细胞功能公式:

=IF(MONTH(E7)=$F$4,((E7,参数列表!$A:$D,3,0),""),"")

▲ 左右滑动查看

如果上面的日期是本月的日期,则使用该函数查找对应日期的对应日期,否则将显示为空。

设定好公式后,接下来就是“装饰”日历了~

格式

▋设置下班状态格式

❶ 不显示0

填写完公式后,我们发现状态单元格中有很多0,影响了表格的美观,所以我们不应该显示这些0。

这个怎么做? 我们可以使用自定义数字格式。

按住【Ctrl】键,选择需要设置的单元格区域,然后按住快捷键【Ctrl+1】,弹出【设置单元格格式】对话框。

然后在类型中输入;;;@并点击【确定】按钮。 此时除文字外全部0显示为空白。

小提示:

数字格式中,正数格式; 负数格式; 零值格式; 文本格式。

;;;@实际上表示不显示值,而是显示文本本身。 @符号代表文本本身的字符。

❷ 设置下班颜色

将“假期”一词显示为红色,将“课程”一词显示为蓝色。 这里我们可以使用条件格式。

在[主页]选项卡上,单击[条件格式]并选择新建规则。

注:活动单元格为F7,就是下图左边红框的位置(活动单元格是指Excel表格中的活动单元格,可以是正在编辑的单元格,也可以是选中范围内的单元格) 。

选择【使用公式确定要格式化的单元格】,输入=F7="Hugh",将格式设置为红色粗体字体,然后确认。

此时,单元格中的“休”字样以红色粗体显示。

同理,输入=F7="Class",将格式设置为蓝色粗体,然后确认。

此时,单元格中的“class”字样以蓝色粗体显示。

▋不显示当前月份以外的日期

如下图所示,我们可以看到不在同一月份的日期仍然显示出来,这显然不是我们想要的。

按住【Ctrl】键,选择指定区域,点击【条件格式】-【新建规则】。

选择[使用公式确定要格式化的单元格]并输入:

=月(E7)$F$4

将格式中的字体设置为白色,然后单击[确定]按钮。

至此,我们想要的效果就完成了。 如果我们想让它更漂亮,我们可以合并农历单元格(例如Q8:R8等)。

延伸和扩展

你认为这就是结局吗? 当然还没有。

由于不同的人有不同的假期和轮班安排,我们可以在参数表中相应的位置选择相应的状态,日历表可以自动更新。

对于特殊的日子,我们也可以将它们输入到参数表中。 例如,如果某一天是您的生日,日历将自动更新。

我们还可以在日历下面添加注释,如下图所示,然后直接打印。

案例中的日历都是使用主题色的,所以我们也可以通过改变主题色来将其变成其他的东西!

最后总结一下:

本文介绍了一种更高级的日历方法,包括带有农历的日历加上下班状态和自动公式更新。

❶ 创建日历外观

确定日历所需的行数和列数,并根据您的需要创建良好的外观。

❷ 设定公式

确定日期编号:使用当月 1 日之前的星期日编号来定位日期的第一个单元格。

下班状态搜索:使用功能进行搜索。

农历查找:利用函数进行查找。

❸ 格式

对于下班状态下出现的0值,我们可以使用数字格式来隐藏0值。 在本文中,我们使用;;;@

使用条件格式隐藏不属于当前月份的日期。

❹ 简单的扩展

由于本文中的日历是使用公式制作的,因此更加灵活。 我们可以根据自己的需要DIY制作属于自己的日历。

当然,日历的玩法不仅仅限于这些。 你可以发挥你的想象力,制作出更多有趣的日历! !

还想掌握更多Excel技巧并解决工作和生活中的问题吗?

恰逢其时,我们专门为专业人士准备的“秋野Excel 3天训练营”。 全部根据职场真实桌面案例设计,还有很多超实用的Excel技能教学。

每天学习30分钟左右,从日常功能开始,全程演示,一节课练习,巩固每一步进步。

Akiye Excel 3天训练营

每天学习30分钟

你也可以成为Excel高手!

扫描二维码立即报名

▲ 注册成功后,会自动弹出班主任二维码。 不要提前退出。

在公众号后台回复呼呼,即可带走这份日历~

遇到有价值的文章

不要放开它!

动动你的小手

© 版权声明
评论 抢沙发
加载中~
每日一言
不怕万人阻挡,只怕自己投降
Not afraid of people blocking, I'm afraid their surrender