描述
使用此函数可以确定从指定开始日期起,经过指定工作日后或之后的指定日期。
您还可以指定哪些日期应视为周末(非工作日)以及哪些节假日应排除在外。与 WORKDAY不同,WORKDAY.INTL 可以配置为自定义工作周,一周中的任何一天都可以是工作日或非工作日。
此功能可用于计算需要同时考虑工作日和非工作日的开始日期、交付日期和完成日期。
句法
WORKDAY.INTL(start_date,days,[holidays])
输入
该函数有以下参数:
| 姓名 | 必要 | 有效输入 |
|---|---|---|
开始日期 |
是的 | 用作计算基准的日期。这可以是单元格引用、整数日期,或者格式为 DD/MM/YYYY 或 YYYY/MM/DD 的日期。 能得出上述结果之一的公式也是可以接受的。必须使用引号。 |
天 |
是的 | 开始日期之前或之后的工作日。这可以是单元格引用、整数日期,或者格式为 DD/MM/YYYY 或 YYYY/MM/DD 的日期。
|
周末 |
不 | 一周中的哪些天被视为工作日,哪些天被视为非工作日。如果省略 周末, 非工作日。 |
假期 |
不 | 一份以日期形式列出的非工作日清单。这可以是单元格引用、单元格区域(D2:D13)、整数日期,或格式为 DD/MM/YYYY 或 YYYY/MM/DD 的日期。 也可以使用 公式来计算上述格式之一。 如果没有提供节假日,WORKDAY.INTL 将只把星期六和星期日视为非工作日。 |
范例
安排周末
WORKDAY.INTL 函数提供了两种配置周末的选项。第一种方法是提供一个数字,如下表所示(不支持 8、9 和 10)。
| 周末 | 周末号码 |
|---|---|
| 星期六、星期日 | 1(默认值) |
| 星期日,星期一 | 2 |
| 星期一,星期二 | 3 |
| 星期二,星期三 | 4 |
| 星期三,星期四 | 5 |
| 星期四,星期五 | 6 |
| 星期五,星期六 | 7 |
| 仅限周日 | 11 |
| 仅限星期一 | 12 |
| 仅限周二 | 13 |
| 仅限周三 | 14 |
| 仅限周四 | 15 |
| 仅限周五 | 16 |
| 仅限周六 | 17 |
配置周末的第二种方法是提供一个用引号括起来的 7 个字符的文本字符串,该字符串由 1 和 0 组成,“1”表示非工作日,“0”表示工作日。第一个位置代表星期一。例如:“1100000”表示一周中星期一和星期二不是工作日。
范例数据
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | 开始日期 | 偏移日 | 假期 | 工作日结果 | 加急配送 |
| 2 | 1/1/2024 | 14 | 1/19/2024 | 是 | |
| 3 | 1/1/2024 | 14 | 1/11/2024 | 1/22/2024 | 否 |
| 4 | 1/1/2024 | -14 | 12/12/2023 | 否 | |
| 5 | 7/19/2023 | 9 | 12/31/2023 | 8/01/2023 | 是 |
| 6 | 45283 | 12 | 1/8/2024 | 01/08/2014 | 是 |
示例公式
| 用例 | 公式 | 解释与结果 |
|---|---|---|
| 确定指定日期之后经过指定工作日(周一至周五)的日期,且不指定节假日。 | =WORKDAY("2024年7月1日",5) |
该公式的工作原理如下:
对于此公式,返回的值为 45481 (2024 年 7 月 8 日)。 |
| 确定在单元格中指定的日期之后经过指定工作日(周一至周五)的日期,且不指定节假日。 | =WORKDAY(A2,B2) |
该公式的工作原理如下:
对于此公式,返回的值为 45300 (2024 年 1 月 9 日)。 |
| 确定在两个单元格中指定的两个日期之间经过指定工作日数(周一至周五)后的日期,且不指定节假日。 | =WORKDAY(A2,-14) |
该公式的工作原理如下:
对于此公式,返回的值为 45272 (2023年12月12日)。 |
| 使用第三个单元格中指定的节假日,确定在两个单元格中指定的两个日期之间经过指定工作日数(周一至周五)的日期。 | =WORKDAY(A3,B3,C3) |
该公式的工作原理如下:
对于此公式,返回的值为 45308 (2024 年 1 月 22 日)。 |
| 使用另一个单元格区域中指定的节假日,确定在两个单元格中指定的两个日期之间经过指定工作日数(周一至周五)后的日期。 | =WORKDAY(A2,B2,C2:C6) |
该公式的工作原理如下:
对于此公式,返回的值为 45324 (2024 年 2 月 2 日)。 |
| 通过从截止日期中减去特定数量的工作日来计算项目的开始日期。 | =WORKDAY(DATE(2024,3,15),-10) |
该公式的工作原理如下:
对于此公式,返回的值为 45352 (2024 年 3 月 1 日)。 |
| 通过在原开始日期上增加工作日来确定修改后的项目截止日期,同时考虑实际工作持续时间(以网络日为单位)。 | =WORKDAY(DATE(2024,3,1),NETWORKDAYS(DATE(2024,3,1), DATE(2024,3,15))) |
该公式的工作原理如下:
对于此公式,值为 45369 (2024 年 3 月 18 日)。 |
| 根据是否满足条件(例如,选择加急运输)确定交货日期调整。 | =IF(A2="是", WORKDAY(DATE(2024,3,8),2), WORKDAY(DATE(2024,3,8),5)) |
该公式的工作原理如下: 对于此公式,值为 45363 (2024 年 3 月 12 日)。 |
笔记
- WORKDAY.INTL 并不会默认知道哪些日子是节假日。这些信息需要用户指定。
- WORKDAY.INTL 不将开始日期计入工作日。
- WORKDAY.INTL 会自动排除所有星期六和星期日。
- 如果
days为“0”,则 WORKDAY.INTL 返回start_date的值不变。 - WORKDAY.INTL 会忽略任何时间值。
- 如果提供的任何日期无效,WORKDAY.INTL 将返回 #NUM! 错误。
- 此函数不支持通配符。
使用技巧
- 通常来说,将节假日日期放在一个单元格区域内并引用该区域会更容易一些。