考勤表(到2030年12月份)是一份考勤表(自动计算考勤表)下载,Excle根据原始考勤记录转换,选中AA1,数据-有效性,然后在来源里,按已经有的年份样式,在后面添加需要的年份。
考勤表功能
根据月份的不同显示天数。
将周末突出显示。
自动统计考勤数。
Excel函数的综合应用:一步一步教你制作动态考勤表
下面我们就一个一个来实现上述的功能。
插入可调节的年份和月份
插入数值调节钮
如下图所示,点击【开发工具】--【插入】--【数值调节钮】,然后在下面的表格中拖动鼠标绘制合适大小的“数值调节钮”。
插入数值调节控件
插入“数值调节钮”后,我们还需要对“数值调节钮”的最小值和最大值进行设置。
设置数值调节钮
鼠标“右键”点击数值调节钮,在弹出的菜单中,选择“设置控件格式”,点击“控制”选项卡,设置对应的“最小值”和“最大值”,因为是年份,我在这里设置的分别是“2010”和“2030”。
最最最关键的一步,我们需要设置“单元格链接”,只有设置了这个,“数值调节钮”才能对单元格里的数据进行调整。
如下图,点击“单元格链接”的输入框,然后再点击对应的单元格,最后点击确定即可。
设置数值调节钮
我们用同样的方法设置月份的数值调节钮。
根据月份的不同显示天数
如下图所示,在第一个日期单元格输入公式:
=IF(COLUMN(A1)<=DAY(EOMONTH($G$1&-$M$1,0)),COLUMN(A1),'')
公式解析:
EOMONTH($G$1&-$M$1,0):用字符串连接符“&”将G1单元格的年份与M单元格的月份加入“-”符号后连接成一个日期格式的数据“2019-8”。
再利用EOMONTH函数获取当月的最后一天的日期“2019-8-31”。
DAY函数的作用是从EOMONTH函数的返回值“2019-8-31”里获取天数值“31”,所以公式:DAY(EOMONTH($G$1&-$M$1,0))在这里的返回值是“31”。
因为每个月的日期是一个从“1”开始的序列值,所以我们可以通过COLUMN(A1)函数获取一个序列值“1”。
用IF函数进行判断,将COLUMA函数的返回值与DAY函数的返回值比较,如果COLUMN函数的返回值比DAY函数的返回值(31)小,则返回COLUMN函的的返回值,否则返回空值。
将这个公式向右拖动填充,只到COLUMN函数的返回值为(31),即:COLUMN(AE1)。