【问题标题】:How to Calculate Time Between Two Dates with constraints taken into account (working hours)?如何在考虑到约束(工作时间)的情况下计算两个日期之间的时间?
【发布时间】:2019-09-16 17:59:59
【问题描述】:

我正在尝试计算两个日期之间的时间,但同时考虑到工作时间限制。我正在尝试使用 Excel 公式来做到这一点。

示例如下,工作时间限制在 08:00 -> 18:00 之间。即仅应考虑这些时间之后的时间。

+---------------+-------------+----------------------+----------------------+
|     Start     |     End     |  Total Difference    | Within Working Hours |
+---------------+-------------+----------------------+----------------------+
| 1/1/19 20:20  | 1/2/19 9:30 | 13 hours, 10 minutes | 1 hour, 30 minutes   |
+---------------+-------------+----------------------+----------------------+

问题是如何计算“工作时间内”列?

谢谢!

【问题讨论】:

  • 看我回答的第二部分stackoverflow.com/questions/49161434/…
  • "仅应考虑在这些时间之后的时间" 您是否还要考虑工作日?如果是这样,@ScottCraner 在他的链接中为您提供了答案。

标签: excel function date if-statement excel-formula


【解决方案1】:

使用这个计算天数并将其乘以 10 小时工作日,然后加上工作日窗口中的工作小时数:

=IF(DATEDIF(A2,B2,"d")>1,NETWORKDAYS.INTL(A2+1,B2-1,1)*10,0)/24+IF(AND(MOD(A2,1)<TIME(18,0,0),WORKDAY.INTL(A2-1,1,1)=INT(A2)),(TIME(18,0,0)-MOD(A2,1)),0)+IF(AND(MOD(B2,1)>TIME(8,0,0),WORKDAY.INTL(B2-1,1,1)=INT(B2)),(MOD(B2,1)-TIME(8,0,0)),0)

目前我们只排除周末,但 NETWORKDAYS.INTLWORKDAY.INTL 可以包含一个不包括列出的节假日的范围。

然后用自定义数字格式格式化单元格:

  [h] "hour, " mm "minutes"

【讨论】:

  • 谢谢你,但知道为什么我在使用你的公式进行相同的开始/结束时会得到“221 小时 30 分钟”吗?
  • 我猜你的日期时间是DD/MM/YYYY,而不是像我的MM/DD/YYYY
  • 我已经尝试将我的日期时间格式更改为 MM/DD/YYYY hh:mm,但仍然是 221 小时 30 分钟
  • 您需要更改本地设置而不是显示格式。但是现在只需在第一个框中输入2019-01-01 20:20,在第二个框中输入2019-01-02 9:30,它应该可以工作。 Excel 利用本地设置进行输入。你可以以任何你想要的方式显示它,但这不会改变 excel 期望输入的方式。
  • 哦,好吧,我明白了....这更有意义!非常感谢您的帮助:)
猜你喜欢
  • 2012-02-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-28
相关资源
最近更新 更多