描述
使用此函数返回两个日期之间的工作日天数。您还可以指定哪些日期应视为周末(非工作日)以及哪些节假日应排除在外。
句法
NETWORKDAYS.INTL(start_date,end_date,[weekend],[holidays])
输入
该函数有以下参数:
| 姓名 | 必要 | 有效输入 |
|---|---|---|
开始日期 |
是的 | 考虑范围的第一个日期。这可以是单元格引用、整数日期,或格式为 DATEVALUE(DD,MM,YYYY) 或 DATEVALUE(YYYY,MM,DD)的日期。或者,它们可以是带引号的字符串,例如“1/14/2023”。能得出上述结果之一的公式也是可以接受的。 |
结束日期 |
是的 | 考虑范围内的最后一个日期。这可以是单元格引用、整数日期,或格式为 DATEVALUE(DD,MM,YYYY) 或 DATEVALUE(YYYY,MM,DD)的日期。或者,它们可以是带引号的字符串,例如“1/14/2023”。能得出上述结果之一的公式也是可以接受的。 |
周末 |
不 | 一周中的哪些天应该被视为周末?(重复的非工作日) |
假期 |
不 | 一份以日期形式列出的非工作日清单。 这可以是单元格引用、单元格区域(D2:D13)、整数日期,或格式为 DATEVALUE(DD,MM,YYYY) 或 DATEVALUE(YYYY,MM,DD)的日期。或者,它们可以是带引号的字符串,例如“1/14/2023”。能得出上述结果之一的公式也是可以接受的。 |
范例
安排周末
此功能提供两种配置周末的选项。第一种方法是提供一个数字,如下表所示(不支持值 8、9 和 10)。
| 周末 | 周末号码 |
|---|---|
| 星期六、星期日 | 1(默认值) |
| 星期日,星期一 | 2 |
| 星期一,星期二 | 3 |
| 星期二,星期三 | 4 |
| 星期三,星期四 | 5 |
| 星期四,星期五 | 6 |
| 星期五,星期六 | 7 |
| 仅限周日 | 11 |
| 仅限星期一 | 12 |
| 仅限周二 | 13 |
| 仅限周三 | 14 |
| 仅限周四 | 15 |
| 仅限周五 | 16 |
| 仅限周六 | 17 |
配置周末的第二种方法是提供一个用引号括起来的 7 个字符的文本字符串,该字符串由 1 和 0 组成,“1”表示非工作日,“0”表示工作日。第一个位置代表星期一。
范例数据
| 一个 (start_date) |
B (结束日期) |
C (假期) |
NETWORKDAYS 结果 |
E (假期) |
|---|---|---|---|---|
| 1/1/2024 | 12/31/2024 | 262 | 5/15/2024 | |
| 1/1/2024 | 12/31/2024 | 5/15/2024 | 261 | 6/15/2024 |
| 1/1/2024 | 12/31/2024 | 258 | 7/4/2024 | |
| 7/19/2003 | 2002年2月31日 | #价值! | 7/5/2024 | |
| 41631 | 2014年1月23日 | 24 | 9/6/2024 |
范例数据
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | 开始日期 | 结束日期 | 假期 | 速度 | 目标 |
| 2 | 1/1/2024 | 12/31/2024 | 5/15/2024 | $262.00 | 122 |
| 3 | 1/1/2024 | 3/31/2024 | 3/15/2024 | $261.00 | 14 |
| 4 | 11/1/2024 | 12/31/2024 | 11/4/2024 | $258.00 | 12 |
| 5 | 2/5/2025 | 11/7/2025 | 7/4/2025 | $300.00 | 21 |
示例函数
| 用例 | 公式 | 解释与结果 |
|---|---|---|
| 确定两个单元格中指定的日期之间的工作日(周一至周五)天数,不指定节假日。星期六和星期日是周末。 | =NETWORKDAYS.INTL(A2,B2) |
此公式确定单元格 A2 中的日期与单元格 B2 中的日期之间的工作日(周一至周五)天数,不指定节假日。星期六和星期日被认为是周末。 对于此数据集,公式返回 262。 |
| 确定两个单元格中指定的日期之间的工作日(周一至周五)天数,节假日在第三个单元格中指定。星期六和星期日是周末。 | =NETWORKDAYS.INTL(A2,B2,,C2) |
此公式确定单元格 A2 中的日期与单元格 B2 中的日期之间的工作日(周一至周五)天数,节假日在 C2 中指定。 对于此数据集,公式返回 261。 |
| 确定两个单元格中指定的日期之间的工作日(周一至周五)天数,节假日在单元格区域中指定。星期六和星期日是周末。 | =NETWORKDAYS.INTL(A3,B3,,E2:E5) |
此公式确定单元格 A3 中的日期与单元格 B3 中的日期之间的工作日(周一至周五)数量,节假日在 C2:C5 范围内指定。 对于此数据集,公式返回 64。 |
| 确定指定日期与单元格中日期之间的工作日天数,不包括节假日。工作日为星期一、星期二和星期三。 | =NETWORKDAYS.INTL("2024年1月1日",B4,"0001111") |
此公式确定 2024 年 1 月 1 日到单元格 B4 中的值之间的工作日天数,工作日为星期一、星期二、星期三,不指定节假日。 对于此数据集,公式返回 158。 |
| 确定两个指定日期之间的工作日天数,不包括节假日。周末(非工作日)是星期二和星期三。 | =NETWORKDAYS.INTL(DATE(2024,11,1),DATE(2024,12,31),4) |
该公式用于确定 2024 年 11 月 1 日至 2024 年 12 月 31 日之间的工作日天数。周末(非工作日)是星期二和星期三(4)。未指定节假日。 对于此数据集,公式返回 44。 |
| 确定两个单元格中指定的日期之间的工作日(周一至周五)天数。星期六和星期日是周末。指定了一个节假日。 | =NETWORKDAYS.INTL(A5,B5,"1111100",45651) |
此公式确定单元格 A2 中的日期与单元格 B2 中的日期之间的工作日(周一至周五)数量。非工作日为星期六和星期日 对于此数据集,公式返回 78。 |
笔记
- NETWORKDAYS.INTL
- 它并不知道哪些日子是节假日。这些信息需要用户指定。
- 计算工作日时,包括开始日期和结束日期。
- 自动排除指定范围内的所有星期六和星期日。
- 忽略所有时间值。
- 如果节假日日期不在指定的开始日期和结束日期之间,则会被忽略。
- 此函数不支持通配符。
- 如果
start_date晚于end_date,则返回值为负数,其大小为完整工作日数。 - 如果
start_date或end_date超出当前日期基准值的范围,则 NETWORKDAYS.INTL 返回 #NUM! 错误值。 - 如果周末字符串长度无效或包含无效字符,NETWORKDAYS.INTL 将返回 #VALUE! 错误值。
- 如果提供的日期无效,NETWORKDAYS 将返回 #VALUE! 错误。
使用技巧
- 你可以使用这个函数,通过将结果乘以相应的工时数来计算指定范围内的工时数。