【日期和时间函数】自定义休息日计算:NETWORKDAYS.INTL函数的使用
返回两个日期之间的所有工作日数,使用参数指示哪些天是周末,以及有多少天是周末。
周末和任何指定为假期的日期不被视为工作日。
语法
NETWORKDAYS.INTL(start_date, end_date, [weekend], [holidays])
NETWORKDAYS.INTL 函数语法具有以下参数:
■start_date 和 end_date:必需,要计算其差值的日期。start_date 可以早于或晚于 end_date,也可以与它相同。
■weekend:可选,表示介于 start_date 和 end_date 之间但又不包括在所有工作日数中的周末日。
weekend 是一个用于指定周末日的周末数字或字符串。
weekend 数值表示以下周末日:
例如,0000011 结果为星期六和星期日是周末。
■holidays:可选,一组可选的日期,表示要从工作日日历中排除的一个或多个日期。
holidays应是一个包含相关日期的单元格区域,或者是一个由表示这些日期的序列值构成的数组常量。
holidays中的日期或序列值的顺序可以是任意的。
说明
■如果 start_date 晚于 end_date,则返回值将为负数,数量将是所有工作日的数量。
■如果 start_date 超出当前日期基值的范围, 请 NETWORKDAYS。国际国际回报 #NUM! 。
■如果 end_date 不在当前日期基值的范围内, NETWORKDAYS。国际国际回报 #NUM! 。
■如果周末字符串的长度无效或包含无效的字符, NETWORKDAYS。国际国际回报 #VALUE! 。
在生活和工作中时常会遇到统计员工的在岗天数,便于结算工资。
每个公司制度不同,所以休息时间也不同。
那么如何快速计算非正常周末情况下的员工在岗天数呢?此处涉及NETWORKDAYS.INTL函数。
以此员工时间表为例,此公司为单休制度,即周日为休息日。
■将光标放在F3处,点击插入函数-日期与时间-NETWORKDAYS.INTL函数。
此时弹出对话框,共四项参数:
“开始日期”是指起始日期;
“终止日期”是指结束日期;
“周末”可填选参数,右表是周末参数的取值以及说明;
“假期”指从工作日历中除去的日期。
■在“开始日期”中输入C3,在“终止日期”中输入D3。
因为我们的休息日是星期日一天,参考周末参数取值以及说明,我们在“周末”中输入11。
在“假期”中输入E3:E6。
点击确定,就能得出此员工的在岗天数了。
将光标放在F3处,呈+形下拉填充公式就能得出所有员工的在岗天数了。