大家好,2022年已经过去四天了。你们去年都实现目标了吗?
新年需要新日历。最近看到很多人在晒收到的新年日历。鹅,我没收到,所以不开心~
这时,坐在电脑前,看到Excel,突然想到可以给自己做一个日历,既可以省钱,还可以按照自己的意愿DIY!!!
如下图:通过控件切换月份自动更新日历中的日期、农历、下班状态!
是不是特别爽?
接下来,我将揭开这个日历。
首先,我们需要制作日历表的外观。在日历表中,每个网格有3行2列,6行7列。
单元格E3是2022,对应的数字格式是0年,单元格E4是1,对应的数字格式是0月。
提前准备好参数表。
插入控件
在“开发工具”选项卡下,单击“插入-值调整”按钮。
右键单击控件,然后选择格式控件。
在设置窗口中,最小值为1,最大值为12,单元格链接为F4。(月份是1-12,所以最小值是1,最大值是12)
PS。如果没有[开发工具]选项卡,在[文件]-[选项]-[自定义功能区]中调用它。
做好基本外观后,下面是公式。
如下所示,在单元格E7中输入以下公式:
=DATE($E,$F,1)-WEEKDAY(DATE($E,$F,1),2)+INT(COLUMN(A:A)/2)+INT((ROW(1:1)-1)/3)* 7 & lt;/span>。& lt/code & gt;
如下所示,在单元格F7中输入以下公式:
= if (month (E7) = $ f ,if error (vlookup (E7,参数表!$A:$D,4,0),& # 34;"),"")
如下所示,在单元格E8中输入以下公式:
= if (month (E7) = $ f ,if error (vlookup (E7,参数表!$A:$D,3,0),& # 34;"),"")
最后填公式就好~如动画所示,选择E7:F9,向右下方填公式。
小提示: E7细胞功能公式:
=DATE($E,$F,1)-WEEKDAY(DATE($E,$F,1),2)+INT(COLUMN(A:A)/2)+INT((ROW(1:1)-1)/3)* 7
公式的前半部分是当月1日的上一个星期日的日期。
=日期(美元,$ 4.1荷兰盾)-工作日(日期(美元,$ 4.1荷兰盾),2)
后半部分我们问:当月的第一个星期天,也就是前半部分公式得出的日期。要得到当前单元格的日期,需要加多少个间隔?
= INT(COLUMN(A:A)/2)+INT((ROW(1:1)-1)/3)* 7
例如,2022年1月1日是当月1日(2021年12月26日)+6之前的星期日的日期。
F7细胞函数公式:
= if (month (E7) = $ f ,if error (vlookup (E7,参数表!$A:$D,4,0),& # 34;"),"")
如下图,如果左边的日期是本月的日期,使用vlookup函数查找对应日期对应的下班状态,否则显示为空。
E8细胞功能公式:
= if (month (E7) = $ f ,if error (vlookup (E7,参数表!$A:$D,3,0),& # 34;"),"")
如果上面的日期是本月的日期,使用vlookup函数查找对应日期的对应日期,否则显示为空。
公式定好了,接下来就是“装饰”日历啦~
▋设置下班状态格式
让0不显示
在填写公式后,我们发现状态单元格中有很多零,影响了表格的美观程度,所以不应该显示。
如何做到这一点?我们可以使用自定义数字格式。按住[Ctrl]键,选择要设置的单元格区域,然后按住快捷键[Ctrl+1]打开[设置单元格格式]对话框。
然后输入类型;;;@,点击【确定】按钮,除文本外的所有零将显示为空白色。
小提示:数值格式,正数格式;负数格式;零值格式;文本格式。
;;;@其实就是不显示数值,显示文本本身,@符号代表文本本身的字符。设置下班颜色
用红色显示休,用蓝色显示班。这里我们可以使用条件格式。
在“开始”选项卡上,单击“条件格式”并选择一个新规则。
注意:活动单元格是F7,也就是下图中左边红框的位置(活动单元格是指Excel表格中的活动单元格。可被编辑或在选定的范围内)。
选择[使用公式确定要格式化的单元格]并输入= F7 = & # 34;休& # 34;,格式设置为红色加粗字体,OK。
此时,所有带有“Hugh”字样的单元格都以红色粗体显示。
同样,输入= F7 = & # 34;班& # 34;,格式设置为加粗蓝色字体,OK。
此时,所有带有“class”字样的单元格都以蓝色粗体显示。
▋不显示不在当月的日期
如下图所示,我们可以看到不在同一个月的日期仍然显示出来,这显然不是我们想要的。
按住Ctrl,选择指定区域,单击条件格式-新建规则。
选择[使用公式确定要格式化的单元格]并输入:
=月(E7)ltgt$F
格式中的字体设置为白色,单击[确定]。
至此,想要的效果就完成了。为了更美观,我们可以合并农历的单元格(如Q8:R8等。).
你以为这就结束了?当然不是。
因为不同的人有不同的休假和排班,我们可以在参数表中相应的位置选择相应的状态,日历表就可以自动更新了。
对于特殊的日子,我们也可以在参数表中输入。比如某一天是你的生日,日历表会自动更新。
我们也可以在日历下添加备注,如下图所示,然后直接打印。
案例中的所有日历都使用主题颜色,因此我们可以更改主题颜色,使其看起来不同!
05 写在最后最后总结一下:本文介绍了一种更先进的日历方法,具有农历下班状态的日历,公式自动更新。
制作日历的外观确定日历需要的行数和列数,根据自己的需要制作外观。
设置公式日期编号的确定:使用当月1号之前的星期日编号定位日期的第一个单元格。
下班状态搜索:使用vlookup功能进行搜索。农历搜索:使用vlookup函数进行搜索。
设置格式对于休班状态下的0值,我们可以用数字格式来隐藏0值,本文使用的就是这种格式;;;@
使用条件格式隐藏不属于当前月份的日期。
简单延伸扩展因为本文中的日历是公式制作的,具有灵活性,我们可以根据自己的需要DIY制作自己的日历。
当然,日历怎么玩还不止这些。可以打开思路,做更多好玩的日历!!
最后想说,2022新年快乐~如果你对新的一年有什么期待,或者对过去的2021有什么想说的,可以在留言区和我们聊聊~