判断日期是否为当月最后一天_excel:制作动态考勤表,掌握各种日期函数

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

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

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

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

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

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

1.生成考勤表动态标题

d51eef103d4a55edb0372a0767437f0d.gif

函数解读:

=TODAY() 获取当前的日期

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

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

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

2.获取最大天数

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

e15e2a0ad4794be6f76be7fa2a77d785.gif

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

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

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

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

3.根绝列号生成天

e85791bb0a9f941955622c01181a9c2e.gif

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

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

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

4.生成表头

88b5c4b84ce3dd7ec9ce3b139f466181.gif

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

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

5.生成星期数据

b99cf1520ef095b3893ee39ec55ddc0e.gif

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值