本文介绍 WORKDAY.INTL 函数的公式语法和用法。
返回指定的若干个工作日之前或之后的日期的序列号(使用自定义周末参数)。 周末参数指明周末有几天以及是哪几天。 周末和任何指定为假期的日期不被视为工作日。
语法
WORKDAY.INTL(start_date, days, [weekend], [holidays])
WORKDAY.INTL 函数语法具有下列参数:
- Start_date 必需。 开始日期(将被截尾取整)。
- Days 必需。 Start_date 之前或之后的工作日的天数。 正值表示未来日期;负值表示过去日期;零值表示开始日期。 Day-offset 将被截尾取整。
- weekend 可选。 指示一周中属于周末的日子和不作为工作日的日子。
Weekend 是一个用于指定周末日的周末数字或字符串。
weekend 数值表示以下周末日:
周末数字 | 周末日 |
---|---|
1 或省略 | 星期六、星期日 |
2 | 星期日、星期一 |
3 | 星期一、星期二 |
4 | 星期二、星期三 |
5 | 星期三、星期四 |
6 | 星期四、星期五 |
7 | 星期五、星期六 |
11 | 仅星期日 |
12 | 仅星期一 |
13 | 仅星期二 |
14 | 仅星期三 |
15 | 仅星期四 |
16 | 仅星期五 |
17 | 仅星期六 |
周末字符串值的长度为七个字符,并且字符串中的每个字符表示一周中的一天(从星期一开始)。1 表示非工作日,0 表示工作日。在字符串中仅允许使用字符 1 和 0。1111111 是无效字符串。
例如,0000011 结果为星期六和星期日是周末。
- holidays 可选。 一组可选的日期,表示要从工作日日历中排除的一个或多个日期。 holidays 应是一个包含相关日期的单元格区域,或者是一个由表示这些日期的序列值构成的数组常量。 holidays 中的日期或序列值的顺序可以是任意的。
备注
- 如果 start_date 超出了当前日期基值的范围,则函数 WORKDAY.INTL 将返回 错误值 #NUM!。
- 如果 holidays 中的任何日期超出了当前日期基值的范围,则函数 WORKDAY.INTL 将返回 错误值 #NUM!。
- 如果 start_date 加上 day-offset 得到一个无效日期,则函数 WORKDAY.INTL 将返回 错误值 #NUM!。
- 如果 weekend 字符串的长度无效或包含无效字符,则函数 WORKDAY.INTL 将返回 错误值 #VALUE!。
示例
复制下表中的示例数据,然后将其粘贴进新的 Et 工作表的 A1 单元格中。要使公式显示结果,请选中它们,按 F2,然后按 Enter。如果需要,可调整列宽以查看所有数据。
公式 | 说明 | 实时结果 |
---|---|---|
=WORKDAY.INTL(DATE(2012,1,1),30,0) | 使用 0 作为周末参数将导致一个 错误 #NUM!。 | #NUM! |
=WORKDAY.INTL(DATE(2012,1,1),90,11) | 查找据 2010-1-1 90 个工作日的日期,仅将星期天作为周末进行计数(周末参数为 11)。 | 41013 |
=TEXT(WORKDAY.INTL(DATE(2012,1,1),30,17),"m/dd/yyyy") | 使用 TEXT 函数将得到的序列数 (40944) 设置为 "m/dd/yyyy" 格式。 查找据 2010-1-1 30 个工作日的日期,仅将星期六作为周末进行计数(周末参数为 17)。 | 2012-2-05 |