跳至主要内容

在Excel中获取两个日期之间的工作小时数

Author: Xiaoyang Last Modified: 2025-07-31

通常,您可能需要计算工人的薪资收入,在这种情况下,您应首先获取两个给定日期之间的工作小时数,排除周末和节假日。Excel中的NETWORKDAYS函数可以帮助您获取两个日期之间的净工作日,然后乘以每个工作日的工作小时数即可得到总工作小时数。

doc-get-work-hours-1


计算两个日期之间的工作小时数,排除默认的周末

如果您想获取两个日期之间的工作小时数,并排除默认的周末(周六和周日),可以使用基于NETWORKDAYS函数的公式,其通用语法如下:

=NETWORKDAYS(开始日期,结束日期) * 每日工作小时数
  • 开始日期, 结束日期: 要计算工作日的起始和结束日期。
  • 每日工作小时数: 每个工作日的工作小时数。(通常每个工作日为8小时,您可以根据需要更改。)

1. 请应用以下公式来计算工作小时数:

=NETWORKDAYS(A2,B2)*8

然后,拖动填充柄到您要粘贴此公式的单元格,您将获得一系列日期结果,如下截图所示:

doc-get-work-hours-2

2. 接下来,您应该将日期单元格格式化为常规格式,请选择计算后的单元格,然后在“主页”选项卡下的“数字格式”下拉菜单中选择“常规”,然后您将获得如下截图所示的工作小时数:

doc-get-work-hours-3


计算两个日期之间的工作小时数,同时排除周末和节假日

如果在这两个日期之间有假期日期,同时排除这些假期,您如何在Excel中解决这个任务?

doc-get-work-hours-4

通用语法:

=NETWORKDAYS(开始日期, 结束日期, [假期]) * 每日工作小时数
  • 开始日期, 结束日期: 要计算工作日的起始和结束日期。
  • 假期: 您希望从这两个日期中排除的一系列日期单元格。
  • 每日工作小时数: 每个工作日的工作小时数。(通常每个工作日为8小时,您可以根据需要更改。)

1. 请在空白单元格中输入以下公式以输出结果:

=NETWORKDAYS(A4,B4,$E$4:$E$6)*8

然后拖动填充柄将公式填充到所需的单元格,显示了一系列日期格式,如下截图所示:

doc-get-work-hours-5

2. 然后,您应该将日期单元格格式化为常规格式,您将获得以下结果:

doc-get-work-hours-6


计算两个日期之间的工作小时数,排除自定义周末

有时,您可能希望计算两个日期之间的工作小时数,同时排除一些自定义的周末,例如仅周日或周日和周一,而不考虑节假日。在这种情况下,您应该使用Excel中的NETWORKDAYS.INTL函数。该公式的语法是:

=NETWORKDAYS.INTL(开始日期, 结束日期, [周末]) * 每日工作小时数
  • 开始日期, 结束日期: 要计算工作日的起始和结束日期。
  • 周末: 您希望设置为周末的具体星期几,而不是默认的周末。它可以是周末编号或字符串。
  • 每日工作小时数: 每个工作日的工作小时数。(通常每个工作日为8小时,您可以根据需要更改。)

周末编号值表示以下周末天数:

周末编号 周末天数
1 或省略 周六和周日
2 周日和周一
3 周一和周二
4 周二和周三
5 周三和周四
6 周四和周五
7 周五和周六
11 仅周日
12 仅周一
13 仅周二
14 仅周三
15 仅周四
16 仅周五
17 仅周六

在此示例中,我将计算两个日期之间的工作小时数,并排除自定义的周末(仅周日),请使用以下公式:

=NETWORKDAYS.INTL(A4,B4,11)*8

然后,向下拖动填充柄到您要应用此公式的单元格,接着,您应将计算出的日期结果更改为常规格式,您将获得所需的结果:

doc-get-work-hours-7


计算两个日期之间的工作小时数,同时排除自定义周末和节假日

您还可以使用以下公式语法来获取两个日期之间的工作小时数,同时排除自定义的周末和节假日:

=NETWORKDAYS.INTL(开始日期, 结束日期, [周末], [假期]) * 每日工作小时数
  • 开始日期, 结束日期: 要计算工作日的起始和结束日期。
  • 周末: 您希望设置为周末的具体星期几,而不是默认的周末。它可以是周末编号或字符串。
  • 假期: 您希望从这两个日期中排除的一系列日期单元格。
  • 每日工作小时数: 每个工作日的工作小时数。(通常每个工作日为8小时,您可以根据需要更改。)

例如,我们可以使用以下公式来获取排除自定义周末(周日和周一)和节假日的工作小时数:

=NETWORKDAYS.INTL(A4,B4,2,$E$4:$E$6)*8

然后,您应将计算出的日期结果转换为常规格式,您将获得所需的结果:

doc-get-work-hours-8


相关使用的函数:

  • NETWORKDAYS:
  • 此函数用于计算两个给定日期之间的工作日数量。
  • NETWORKDAYS.INTL:
  • 它通过排除默认的周末(周六和周日)或任何指定为周末的日子来返回工作日的数量。

相关工作小时/工作日文章:

  • 在Excel中计算每月工作小时数
  • 通常,我们大多数人每天工作8小时,每周工作5天。在这里,我想获取每个月的总工作小时数以计算工资。如何在Excel中计算每月的总工作小时数?
  • 在Excel中查找某月的第一天或最后一个工作日
  • 您知道如何在工作表中找到给定月份日期的第一个或最后一天以及第一个或最后一个工作日吗?例如,我有一个日期2014/5/21,现在我想知道这个月的第一天和最后一天,即2014/5/1和2014/5/31,第一个工作日是2014/5/1,最后一个工作日是2014/5/30。

最佳的办公生产力工具

Kutools for Excel - 助您脱颖而出

🤖 Kutools AI 助手:基于智能执行革新数据分析:智能执行   |  生成代码  |  创建自定义公式  |  分析数据并生成图表  |  调用 Kutools 函数
热门功能查找、高亮或标记重复项  |  删除空行  |  合并列或单元格而不丢失数据  |  无需公式四舍五入 ...
超级 VLookup多条件  |  多值  |  跨多表  |  模糊查找...
高级下拉列表简易下拉列表  |  级联下拉列表  |  多选下拉列表...
列管理器添加指定数量的列  |  移动列  |  切换隐藏列的可见状态  比较列以 选择相同和不同单元格 ...
特色功能网格聚焦  |  设计视图  |  增强编辑栏  |  工作簿与工作表管理器 | 资源库(自动文本)  |  日期提取  |  合并工作表  |  加密/解密单元格  |  按列表发送电子邮件  |  超级筛选  |  特殊筛选(筛选粗体/斜体/删除线...) ...
排名前 15 的工具集12 个文本工具添加文本删除特定字符 ...)  |  50+ 种图表 类型甘特图 ...)  |  40+ 实用 公式基于生日计算年龄 ...)  |  19 个插入工具插入二维码从路径插入图片 ...)  |  12 个转换工具小写金额转大写汇率转换 ...)  |  7 个合并和拆分工具高级合并行拆分 Excel 单元格 ...)  |  ... 更多功能
使用您偏好的语言来操作 Kutools - 支持英语、西班牙语、德语、法语、中文等 40 多种语言!

Kutools for Excel 拥有超过 300 项功能,确保您所需的一切都仅需一键之遥...


Office Tab - 在 Microsoft Office(包括 Excel)中启用标签式阅读和编辑

  • 一秒内在数十个打开的文档之间切换!
  • 每天为您减少数百次鼠标点击,告别鼠标手。
  • 在查看和编辑多个文档时,您的生产力可提升 50%。
  • 为 Office(包括 Excel)带来高效标签页,就像 Chrome、Edge 和 Firefox 一样。