跳至主要内容

如何在 Excel 中计算两个日期之间的天数、工作日和周末的天数?

Author: Xiaoyang Last Modified: 2025-05-07

您是否曾经需要在 Excel 中计算两个日期之间的天数?有时,您可能只想计算两个日期之间的工作日天数;而有时,您又需要计算两个日期之间的周末天数。那么,在特定条件下,如何计算两个日期之间的天数呢?


使用公式计算两个日期之间的天数

要计算两个给定日期之间的天数,请应用以下任意一个公式:

=DATEDIF(A2,B2,"D")
=B2-A2

然后按 Enter 键,您将得到两个日期之间的天数。请参见截图:

Calculate the number of days with a formula

注意:在上述公式中, A2 表示开始日期, B2 表示结束日期。您可以根据需要替换它们。

a screenshot of kutools for excel ai

使用 Kutools AI 解锁 Excel 魔法

  • 智能执行:执行单元格操作、分析数据和创建图表——所有这些都由简单命令驱动。
  • 自定义公式:生成量身定制的公式,优化您的工作流程。
  • VBA 编码:轻松编写和实现 VBA 代码。
  • 公式解释:轻松理解复杂公式。
  • 文本翻译:打破电子表格中的语言障碍。
通过人工智能驱动的工具增强您的 Excel 能力。立即下载,体验前所未有的高效!

使用公式计算两个日期之间的工作日天数

但有时,您只想找出工作日(从星期一到星期五)的天数,上述公式对您来说不起作用。在这种情况下,这里有两个函数可以帮助您解决这个问题。


1. 使用 NETWORKDAYS 函数计算工作日天数

在空白单元格中,请输入以下公式:

=NETWORKDAYS(A2,B2)

然后按 Enter 键,您将计算出两个日期之间排除星期日和星期六的工作日天数。请参见截图:

Using NETWORKDAYS function to count the number of workdays

注意:在上述公式中, A2 表示开始日期,B2 表示结束日期。


2. 使用 NETWORKDAYS 函数计算工作日天数但排除节假日

有时,在两个日期之间可能会有一些节假日,如果您想计算这两个日期之间的营业日,您应该排除星期六、星期日和节假日。这个 NETWORKDAYS 函数也可以帮助您。

NETWORKDAYS 函数的语法为:= NETWORKDAYS ( 开始日期 , 结束日期 , 节假日 )

将假期日期输入到您希望从日期中减去的单元格中,然后在您希望获取结果的空白单元格中输入此公式:

=NETWORKDAYS(A2,B2,$C$2:$C$6)

然后按 Enter 键,不包括星期日、星期六和节假日的工作日天数已计算出来。请参见截图:

Using NETWORKDAYS function to count the number of workdays exclude the holidays

注意:在上述公式中,A2 表示开始日期,B2 表示结束日期,C2:C6 是节假日列表。


3. 使用 SUM 和 INT 函数计算工作日天数

除了 NETWORKDAYS 函数外,还有另一个公式可以帮助您计算两个日期之间有多少个工作日。

在空白单元格中,输入或复制以下公式:

=SUM(INT((WEEKDAY(A2-{2,3,4,5,6})+B2-A2)/7))

然后按 Enter 键,所有工作日都将被计算出来。请参见截图:

Using SUM and INT function to count the number of workdays

注意:

1. 有时,您每周有 6 个工作日(从星期一到星期六),因此您需要计算包括星期六但不包括星期日的工作日天数。在这种情况下,您可以应用此公式:

=SUM(INT((WEEKDAY(A2-{2,3,4,5,6,7})+B2-A2)/7))

calculate the number of workdays including Saturdays

2. 在上述公式中,A2 表示开始日期,B2 表示结束日期。


使用公式计算两个日期之间的周末天数

这里还有一些公式可以帮助您仅计算给定时间段内的周末天数(星期六和星期日)。请输入或复制以下两个公式中的任何一个:

=SUMPRODUCT(--(WEEKDAY(ROW(INDIRECT(A2&":"&B2)),2)>5))
=SUM(INT((WEEKDAY(A2-{1,7})+B2-A2)/7))

然后按 Enter 键,现在您将得到这两个日期之间的周末天数。请参见截图:

Calculate the number of weekend days with a formula

注意:在上述公式中,A2 表示开始日期,B2 表示结束日期。


通过实用功能计算两个日期之间的工作日和周末天数

要计算两个给定日期之间的工作日或周末天数,Kutools for Excel 的公式助手工具包含了一些常用的公式,您可以应用它们来计算年龄、单词出现次数等。

Kutools for Excel 提供了超过 300 种高级功能,简化复杂任务,提升创造力与效率。 通过集成 AI 能力,Kutools 能够精准自动执行任务,让数据管理变得轻松简单。Kutools for Excel 的详细信息...         免费试用...
注意:要应用此公式助手,首先,您应该下载 Kutools for Excel,然后快速轻松地应用该功能。

安装 Kutools for Excel 后,请执行以下操作:

1. 单击您希望放置结果的单元格,然后单击 Kutools > 公式助手 > 公式助手,参见截图:

click Formula Helper feature of kutools

2. 在公式助手中,执行以下操作:

  • 从公式类型下拉菜单中选择统计选项;
  • 在选择公式列表框中,选择您要使用的两个日期之间的非工作日天数或两个日期之间的工作日天数;
  • 然后,在参数输入部分,分别选择包含开始日期和结束日期的单元格。
  • 最后,单击确定按钮以获得如下截图所示的结果:

set options in the dialog box


计算两个日期之间的天数、周数、月数或年数

借助 Kutools for Excel日期和时间助手 功能,您可以根据需要快速获取两个日期之间的各种差异结果,而无需记住任何公式,例如周 + 天、月 + 周等。 点击下载 Kutools for Excel!

Calculate the number of days, weeks, months or years by kutools

Kutools for Excel:拥有 300 多个便捷的 Excel 插件,免费试用 30 天无限制。 立即下载并免费试用!


更多相关日期和时间文章:

  • 在午夜之后计算 Excel 中的时间差
  • 假设您有一个时间表来记录您的工作时间,A 列中的时间是今天的开始时间,B 列中的时间是第二天的结束时间。通常,如果通过直接减去“=B2-A2”来计算两个时间之间的时间差,它将不会显示正确的结果,如左截图所示。那么,如何在 Excel 中正确计算午夜之后两个时间之间的小时数呢?

最佳办公效率工具

🤖 Kutools AI 助手:基于智能执行生成代码创建自定义公式分析数据并生成图表调用 Kutools 函数等功能,彻底改变数据分析方式…
热门功能查找、高亮或标记重复项 | 删除空行 | 合并不丢失数据的列或单元格 | 四舍五入 ...
高级 LOOKUP多条件 VLookup | 多值 VLookup | 多表查找 | 模糊查找 ....
高级下拉列表快速创建下拉列表 | 从属下拉列表 | 多选下拉列表 ....
列管理器添加指定数量的列 | 移动列 | 切换隐藏列的可见状态 | 比较区域和列 ...
精选功能网格聚焦 | 设计视图 | 增强编辑栏 | 工作簿与工作表管理器 | 资源库(自动文本) | 日期提取 | 合并数据 | 加密/解密单元格 | 按列表发送电子邮件 | 超级筛选 | 特殊筛选(筛选粗体/斜体/删除线...)...
排名前 15 的工具集12 种文本 工具添加文本删除特定字符等) | 50 多 种图表 类型甘特图等) | 40 多种实用 公式基于生日计算年龄等) | 19 种插入 工具插入二维码根据路径插入图片等) | 12 种转换 工具小写金额转大写汇率转换等) | 7 种合并与分割 工具高级合并行分割单元格等) | 还有更多...

使用 Kutools for Excel 提升您的 Excel 技能,体验前所未有的高效。 Kutools for Excel 提供超过 300 种高级功能来提高生产力并节省时间。 单击此处获取您最需要的功能...


Office Tab 将标签式界面引入 Office,让您的工作更加轻松

  • 在 Word、Excel、PowerPoint 中启用标签式编辑和阅读
  • 在同一窗口的新标签页中打开和创建多个文档,而不是在新窗口中进行操作。
  • 将您的生产力提升 50%,每天为您减少数百次鼠标点击!