在Excel中制作考勤表或课程表时,需要在某行或某列填充工作日,即排除星期六和星期日填充日期,除了采用右键填充的方法外,还可以用WORKDAY或WORKDAY.INTL函数来实现。
一、填充指定日期后的工作日
本例指定的日期为“2013-11-4”,在单元格中输入公式:
=WORKDAY("2013-11-2",ROW(A1))
向下拖动填充柄填充公式,并设置单元格格式为“日期”即可。
说明:WORKDAY函数返回指定日期之前或之后的第N个工作日的日期序列号,该函数的第二个参数指定N值。
二、从每月个工作日开始填充工作日
=WORKDAY(EOMONTH("2013-11-4",-1),ROW(A1))
公式将从2013年11月的个工作日“2013-11-1”日(星期五)开始填充,并跳过星期六和星期日。
说明:EOMONTH函数返回指定日期之前或之后某个月的后的日期序列号。
三、填充日期时仅排除星期日
=WORKDAY.INTL("2013-11-4",ROW(A1),11)
或:
=WORKDAY.INTL("2013-11-4",ROW(A1),"0000001")
说明:WORKDAY.INTL函数是Excel2010中新增的函数,故本公式适用于Excel2010以上版本。个公式中WORKDAY.INTL函数的第三个参数“11”,指定该函数仅以星期日为周末。该函数的第三个参数除了使用数字值外,还可以用包含“0”和“1”、长度为7 的字符串来指定周末,该字符串用“0”表示工作日,用“1”表示非工作日,字符串中的每个字符表示一周中的,且从星期一开始。本例第二个公式中的“0000001”,即指定周末为星期日。可见,用字符串的方式可以方便地指定一周中的某日或某几个日期为周末。
四、仅填充星期六和星期日
在编排周末值班表时,需要在行或列总仅填充星期六和星期日。这时可用下面的方法:
方法一:
在A1单元格中输入某个星期六的日期,在A2单元格中输入:
=A1+1
然后在A3单元格中输入:
=A1+
选择A2:A3区域,向下拖动填充柄填充公式即可。
方法二:直接用下面的公式:
=WORKDAY.INTL("2013-11-1",ROW(A1),"1111100")
上述公式填充“2013-11-1”日后的星期六和星期日。