2022-04-13
阅读量:
1810
EXCEL制作动态考勤表(函数公式精讲)
标红部分能动态变化,根据实际年和月份值判断2月最后天数是28还是29,还是30,31。
==================================
通常用到EOMONTH()函数,判断后面日期29/30/31这几个单元格是否需要填入空值(“”)。
下面用到一个超牛、玄妙的公式来判断。
=IF(MONTH(DATE($B$5,$E$5,COLUMN(A6)))>$E$5,"",DAY(DATE($B$5,$E$5,COLUMN(A6))))
=IF(MONTH(DATE($B$5,$E$5,COLUMN(AB6)))>$E$5,"",DAY(DATE($B$5,$E$5,COLUMN(AB6))))
=IF(MONTH(DATE($B$5,$E$5,COLUMN(AC6)))>$E$5,"",DAY(DATE($B$5,$E$5,COLUMN(AC6))))
解析:
一、搞定日期几号?
DATE($B$5,$E$5,COLUMN(A6))获得所选“年和月”对应日的日期值——注意DATE(year,month,day)函数中,如果day大于指定月中的天数,则day会从该月的第一天开始加上该天数。 例如,DATE(2008,1,35) 返回表示 2008 年 2 月 4 日的序列数。
到COLUMN(AB6)时列号为28,表示2月28日,即最后一天。
到COLUMN(AC6)时列号为29,DATE($B$5,$E$5,COLUMN(AC6))得到的值自动跳转到:2022/3/1。
触发IF判断语句的条件成立(ture),则返回空值(“ ”)。
二、搞定星期几
如果日期为空则返回空,
如果日期非空,则返回日期。
公式容易理解,关键是日期如何显示成星期几形式?
以上全部搞定。






推荐帖子
0条评论
1条评论
0条评论