ZetCode

Excel WORKDAY 和 NETWORKDAYS 函数

最后修改于 2025 年 4 月 4 日

WORKDAYNETWORKDAYS 函数在 Excel 日期计算中至关重要。它们有助于在排除周末和节假日的同时计算工作日。本教程提供了使用这些函数的全面指南,包含详细示例。您将学习基本语法、实际应用和高级技巧。

函数基础

WORKDAY 在起始日期加上工作日数后返回日期。NETWORKDAYS 计算两个日期之间的工作日数。两者都排除周末,并且可以选择排除节假日。

函数 描述 语法
WORKDAY 返回指定工作日之后的日期 =WORKDAY(start_date, days, [holidays])
NETWORKDAYS 计算两个日期之间的工作日数 =NETWORKDAYS(start_date, end_date, [holidays])

此表显示了两个函数的核心区别。WORKDAY 在时间上向前/向后移动,而 NETWORKDAYS 计算日期之间的差值。

WORKDAY 基本示例

此示例显示如何计算从今天开始 10 个工作日后的到期日期。

WORKDAY 基本公式
=WORKDAY(TODAY(), 10)

此公式返回从今天起 10 个工作日后的日期,排除周末。如果今天是 2025 年 4 月 1 日星期一,则返回 4 月 15 日星期一(跳过 2 个周末)。

带节假日的 WORKDAY

此示例演示如何使用自定义节假日列表排除特定日期进行 WORKDAY 计算。

A B
开始日期 2025-04-01
节假日 1 2025-04-07
节假日 2 2025-04-14
结果 =WORKDAY(B1, 10, B2:B3)

该表显示了一个开始日期和两个节假日。WORKDAY 公式计算从开始日期开始的 10 个工作日,同时排除周末和列出的节假日。

带节假日的 WORKDAY
=WORKDAY(B1, 10, B2:B3)

此公式返回 2025 年 4 月 16 日(原始结果是 4 月 15 日,但 4 月 14 日是节假日)。计算跳过了周末和两个指定的节假日。

NETWORKDAYS 基本示例

此示例计算两个日期之间的工作日数,有助于计算项目持续时间。

A B
开始日期 2025-04-01
结束日期 2025-04-30
工作日数 =NETWORKDAYS(B1, B2)

该表显示了 2025 年 4 月的一个日期范围。NETWORKDAYS 公式计算这些日期之间存在多少工作日,自动排除周末。

NETWORKDAYS 基本公式
=NETWORKDAYS(B1, B2)

此公式返回 2025 年 4 月的 22 个工作日(30 个总天数减去 8 个周末天数)。NETWORKDAYS 在计算中包含开始日期和结束日期(如果它们是工作日)。

带节假日的 NETWORKDAYS

此增强示例显示排除周末和节假日的 NETWORKDAYS。

A B
开始日期 2025-04-01
结束日期 2025-04-30
节假日 1 2025-04-07
节假日 2 2025-04-14
工作日数 =NETWORKDAYS(B1, B2, B3:B4)

该表在先前示例的基础上添加了节假日列表。NETWORKDAYS 公式现在将这些日期与周末一起从工作日数计算中排除。

带节假日的 NETWORKDAYS
=NETWORKDAYS(B1, B2, B3:B4)

此公式返回 20 个工作日(原始 22 个工作日减去 2 个节假日)。节假日落在工作日(4 月 7 日星期一和 4 月 14 日星期一),因此被排除。

WORKDAY.INTL 和 NETWORKDAYS.INTL

这些高级版本允许您自定义哪些日期被视为周末。此示例显示了使用星期二-星期三作为周末的 WORKDAY.INTL。

带自定义周末的 WORKDAY.INTL
=WORKDAY.INTL("2025-04-01", 10, "0001100")

此公式计算从 2025 年 4 月 1 日开始的 10 个工作日,只将星期二和星期三视为周末。“0001100”字符串定义了周末模式(1=周末,0=工作日)。

WORKDAYNETWORKDAYS 函数是商业日期计算的强大工具。它们会自动处理周末,并可以包含节假日日程。INTL 版本为非标准工作周提供了灵活性。掌握这些函数将提高您在 Excel 中的基于日期的计算能力。

作者

我的名字是 Jan Bodnar,我是一名充满热情的程序员,拥有丰富的编程经验。我从 2007 年开始撰写编程文章。至今,我已撰写了 1,400 多篇文章和 8 本电子书。我在教学编程方面拥有十多年的经验。

列出 所有 Excel 公式