KutoolsforOffice — 一套方案,五大工具。事半功倍。

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

作者晓阳修改日期

通常,您需要为员工计算工资收入,此时应先计算两个日期之间,排除周末和节假日的工作时长。Excel 中的 NETWORKDAYS 函数可帮助您快速得出实际工作日数,再将其乘以每日工作时长,即可轻松获得总工作时长。

doc-get-work-hours-1


计算两个日期之间(不含默认周末)的工作时长

如果想要获取排除默认周末(星期六和星期天)后,两个日期之间的工作时长,可使用基于 NETWORKDAYS 函数的下列通用公式:

=NETWORKDAYS(start_date,end_date) * working_hours
  • start_date, end_date:用于计算工作日的起始和结束日期。
  • working_hours:每个工作日的工作时长。(默认设置为 8 小时,您可根据实际需求进行调整)

1. 请使用以下公式计算工作时长:

=NETWORKDAYS(A2,B2 )*8

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

doc-get-work-hours-2

2. 接下来,请将日期单元格的格式设置为常规。选择计算结果单元格后,点击开始选项卡中的数字格式下拉列表下的常规,即可看到如下图所示的工作时间:

doc-get-work-hours-3


计算两个日期之间(排除周末及假期)的工作时长

如果两个日期之间包含节假日,如何在 Excel 中同时排除这些假期?

doc-get-work-hours-4

通用公式:

=NETWORKDAYS(start_date, end_date, [holidays]) * working_hours
  • start_date, end_date:用于计算工作日的起始和结束日期。
  • holidays:需要在两个日期之间排除的日期单元格区域。
  • working_hours:每个工作日的工作时长。(默认设置为 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(start_date, end_date, [weekend]) * working_hours
  • start_date, end_date:用于设定计算工作日的起止日期。
  • weekend:用于指定您希望作为周末的具体星期,而非默认周末。可以输入周末的编号或字符串。
  • working_hours:每个工作日的工作时长。(默认设置为 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(start_date, end_date, [weekend], [holidays]) * working_hours
  • start_date, end_date:用于计算工作日的开始和结束日期。
  • weekend:您希望设为周末而非默认周末的具体星期。可为周末编号或字符串。
  • holidays:需要排除在两个日期间的日期单元格区域。
  • working_hours:每个工作日的工作小时数。(默认设置为 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 Functions……
热门功能查找、高亮显示或标记重复项  |  删除空白行  |  合并列或单元格且不丢失数据  |  不使用公式的四舍五入……
超级 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 般的便捷体验。