同事抢走了我刚用Excel设计的考勤表!

不管是财务还是人事,基本上都制作过考勤表吧,但是根据我的经验,大部分做的考勤表实在是非常的不好用!

下面我们就通过列举一些使用过程中体验不好的地方,然后做一些优化,这个过程,大家可以学到一些思路和方法,当时是小编最期望看到的!

看看成品效果,双休日动态标记+动态显示每月日期

01

每个月天数都是31天?

一般大家看到的考勤表都是写死的,很多直接31天,这样足够,当时并不是每个月都有31天,这样做虽然不会错,但是不是很友好!甚至冗余!
我们期望是每个月的天数可以自动根据选择的日期来动态改变!

01 | 那么如何获取到每个月的最后一天呢?
=EOMONTH(指定日期,0)
EOMONTH语法:通过第二参数配置之前或者之后几个月的对应的最后一天
如果是0就是当月,上面就是这个原理
有了上面最后一天的日期,我们就可以获取到最后一天的是几号,方便我们进一步去比较,这里提取对应日期的天,直接使用Day函数即可!

02 | 提取最大日期的日
提取天:=MONTH(日期)
这些问题都解决之后,我们的动态考勤表头就简单了!
03 | 制作年月表头
>> 插入数值调节按钮:
点击【开发工具】-【插入】-【表单控件】-【数值调节按钮】,在Excel中合适的位置拖动鼠标划出大小即可!
>> 年份数值调节按钮设置

根据实际需要设置,比如我们这里就是设置从2000-2099年基本够用!
>> 月份数值调节按钮设置

月份只有12个月,所以我们设置为1-12即可

配合Date函数,我们先生成日期,TEXT函数格式化显示成中文年月格式,方便我们查看和下一步使用!
=TEXT(DATE(C2,F2,1),"yyyy年m月")
▼ 动画演示初步效果
04 | 动态考勤表头-根据年月变动
=IF(DAY(EOMONTH($P$2,0))>=COLUMN(A1),$P$2+COLUMN(A1)-1,"")
这里我们判断只要没到最后一天,那么我们就在每月的第一天的基础上递增一天,由于第一天已经在,所以需要-1
出来的是日期格式,所以我们要在自定义单元格格式中,设置为:d
我们通过动画来看一下实际效果!
▼ 随日期变动-完美解决

02

考勤表没有周几?

很多时候,我们发现设置的考勤表太过简陋,连星期几都没有,这样我们方便不便考勤,比如周六周日休息的情况,我们希望可以动态标记出来
下面我们就来解决这个问题,非常的简单!
01 | 显示星期几
第四行,我们已经设置好了日期,我们想要星期,非常的简单,只要把日期的格式设置为:aaa即可!
如图,我们把在第5行,设置公式等于B4,右拉填充好,右击【设置单元格格式】- 自定义中输入三个a确定即可!
现在星期几有了,但是周六和周日并没有直观的标记出来,我们想要动态标记出来,第一个应该想到的就是条件格式,满足条件触发!
02 | 动态标记双休日
点击【开始】-【条件格式】-【新建规则】
使用公式确定要设置格式的单元格,公式如下:
Weekday使用1-7表示周一到周日,所以大于5表示周六和周日
=WEEKDAY(B$5,2)>5
满足这个条件,我们设置合适的格式,应用区域,这个考勤表即可!
这样基本就完成了,其他一些细节补充即可!

术支持

今天就到这里,今天这个你真的可以学会~ 快去动手试试吧,大脑会骗人,但是身体很诚实!

(0)

相关推荐