设置主页 | 收藏本站 Excel学习网-公益型的EXCEL在线学习网站,助您轻松办公!

excel制作动态考勤表,掌握各种日期函数

2020年10月07日 18:55 发布来源:Excel学习网

 在工作中常用到考勤表,那么如何做一份考勤表,可以每个月都使用呢,那么就需要让考勤表的表头动态生成日期和星期,我在几期视频中也讲过,但总觉讲的不太清楚,那么今天就用图文的形式来说明下。

动态考勤表的核心就是一连串的日期函数,尤其是today函数,是实现动态考勤表的核心,其他的还要使用到文本连接符&,还有日期函数year,month,day。过程呢很简单,我们先来说这几个函数的用法。

today(),返回当前的日期。比如今天是2020年8月4日,那么在单元格输入=today(),就返回2020-8-4,如果到了明天,你再打开就是2020-8-5,打开考勤表或者按F9刷新,就能看到变化。

year(日期):返回当前日期的年部分。

month(日期):返回当前日期的月部分。

day(日期):返回当前日期的日部分。

1.生成考勤表动态标题

excel:制作动态考勤表,掌握各种日期函数

 

函数解读:

=TODAY() 获取当前的日期

=YEAR(D5) 获取日期的年部分

=MONTH(D5) 获取日期的天部分

=D6&"年"&D7&"月考勤表" 使用&连接符将几部分拼接到一起。

2.获取最大天数

要动态生成日期,因为每个月有28天,30天,或者31天,所以要生成日期,必须判断一个月的最大天数,而excel中并没有提供获取一个月最大天数的函数,如果我们能获取到下一个月的第一天,那么减去1,就是当月的最大天数。

excel:制作动态考勤表,掌握各种日期函数

 

函数解读:=DATE(D6,D7+1,1)

date函数的三个参数分别为年月日,在月的部分我们+1,就转化成了下一个月,第三个参数是1,就是一个月的第一天。

=D9-1 用获取的日期减去1,就是当月的最后一天。

然后=DAY(D10),获取到了天数。

3.根绝列号生成天

excel:制作动态考勤表,掌握各种日期函数

 

函数解读=COLUMN(B:B)-1

COLUMN(B:B) 返回B列的列号,因为是第二列,所以减去1,然后向右拖拽即可生成1-31的天数,这里有一个问题,最大是31天,最小是28天

所以我们使用COLUMN(B:B)-1和最大天数对比,如果小于最大天数,就正常显示日期,如果大于就显示空值。

4.生成表头

excel:制作动态考勤表,掌握各种日期函数

 

公式解读:=IF(COLUMN(B:B)-1<=$D$11,COLUMN(B:B)-1,"")

向右边拖拽31天即可。不月份不是31天的时候,比如28天,那么后三列显示为空。

5.生成星期数据

excel:制作动态考勤表,掌握各种日期函数

 

公式解读:=DATE($D$6,$D$7,B3)

使用date函数生成日期。然后在设置单元格格式中设置为显示星期的形式。这样表头就直接动态起来。以上呢就是动态考勤表的生成过程。

原创文章如转载请注明:转载自Excel学习网 [ http://www.excelcn.com/]
需要保留本文链接地址:http://www.excelcn.com/xuexixinde/12872.html
分享到:
网站地图 | XML地图 | 免责声明 | 关于我们 | Excel学习网:优秀的EXCEL在线学习和资源分享网站。
版权所有: CopyRight © 2013-2018 www.excelcn.com All Rights Reserved.
豫ICP备12002644号