|
今天,我们来制作一个智能更新排班表,如动图所示,使用表单控件切换年和月,表格自动更新日期对应星期,周末自动添加颜色,自动去除最后边几列非本月的数据,下拉菜单选择上班情况。这么好用的表格,我们来一步一步的拆解制作过程。
1、 窗体控件-数值调节钮
如果没有开发工具的,在功能区鼠标右键【自定义功能区】,将【开发工具】勾上就有了。
OK,开发工具有了,【开发工具】-【插入】-【数值调节纽】,画一个,然后再复制一个,按住ALT键来移动,这样子可以对齐网格线,这个在之前其他文章操作也有提过(一个极好用的小技巧),右键选择年对应的那个按钮,【设置控件格式】,在设置窗口,当前值不管,【最小值】填个2020(这个看实际情况,都2021年了,也没必要把最小值推那么前),【最大值】我们填个2099好了,【步长】不变为1,【单元格链接】鼠标点选B1单元格;同理设置月份的按钮链接到B2单元格,【最小值】1,【最大值】12(一年只有12个月嘛~~)。
2、 date函数
接下来,我们在D3单元格,使用date函数来设置每月第一个日期(也就是1号啦),在D3单元格输入公式=DATE(B1,B2,1),这里B1就是指定的年份,B2就是指定的月份,然后1,就是日了,通过该函数,就可以返回我们指定的日期了,之后Ctrl+1快捷键调出【设置单元格格式】窗口,设置【自定义】为d,显示的效果就是只显示日了。不明白的伙伴,可以看回前几天发的有关Text函数的推文哦,类似原理。
设置好1号之后,D3单元输入公式=C3+1,鼠标拖动复制公式到AG列,同理设置其【自定义】为d。
3、 显示星期几
C4单元格输入公式=C3,复制公式,选择相应内容,Ctrl+1,设置其【自定义】为aaa,这样子,就会显示为星期几了。
4、 条件格式
这里就是条件格式出场了,我们选择C3:AG10区域,【开始】-【条件格式】-【新建规则】-【使用公式确定要设置格式的单元格】,输入公式=month(C$3)=$B$2,按F4快捷键可以切换引用方式,注意是C$3这样子,才会对符合条件的整列进行设置,设置边框为蓝色。
之后我们再选择AE3:AG10区域(这里是29-31号的区域,不一定存在的日期就是这三个了)同样条件格式,输入公式=month(AE$3)<>$B$2,字体设置为白色,边框线设置为无,填充也设置为白色(这样子当月份不同时,则因为这个白色的设置,从视觉上就隐藏起来了)。
最后,我们来设置周末填充颜色,再次选择C3:AG10区域,新建规则为=weekday(C$3,2)>5,填充为深一点的蓝色。之后,还有很重要的一点,条件格式的优先级别,排在越前边就越优先,如动图所示,现在5月1号出现了,这样子就不对了,我们将刚才的第二个规则上移,weekday的排中间,确定,这样子才对。
5、下拉菜单
选择C5:AD9区域,-【数据验证】-【序列】,选择已经设置好的内容,这样子,就可以直接做下拉菜单了。
6、 countblank函数
通过countblank函数,计算每一天对应单元格中的的空单元格数目,这样子,就可以计算出有多少人上班了。在C10单元格输入公式=COUNTBLANK(C5:C9)并拖动复制公式,搞定。
好了,基本上就先这样子,回顾下,这里主要使用到了
开发工具,Date函数,条件格式(在条件格式中,又使用到了month函数,weekday函数),之后还有数据验证功能,计数函数中的countblank函数。主要也就这些知识点了,也都是在之前的各篇文章有分享过的,你学会(废)了吗? |
|