当输入是在周末时,计算两个日期之间的时间(不包括周末)?

当输入是在周末时,计算两个日期之间的时间(不包括周末)?

我正在尝试在 Excel 中计算两个日期之间的时差以排除周末和节假日。我遇到的问题是有时某个事件发生在周末。

例如,我正在处理系统输入,以计算某些东西添加到系统和某人处理该问题之间的时间。

我在单元格 A1 中输入了时间,在单元格 B1 中输入了完成时间。我目前使用以下公式 NETWORKDAYS,但我不喜欢它返回全天数的方式,相反,我想知道小时数。当使用 NETWORKDAYS 公式和 MOD 时,每当周末发生某事时,我都会收到错误。

我正在处理一个系统,任何人都可以随时输入某些内容,但我们不会在非工作时间内做出回应,除非系统自动为我们做出回应。

答案1

没有内置的 NETWORKHOURS 函数。您必须自己实现它或在线查找示例。

答案2

这有用吗?

1)在单元格中输入开始日期/时间A1以及单元格中的结束日期/时间B1

开始/结束日期/时间

2)创建一个名为假期,其中包含任何假期。 创建命名范围的示例。

3)复制以下公式,粘贴到公式栏对于细胞D1,然后按Enter

=IFERROR(MROUND(NETWORKDAYS(
IF(OR(
          WEEKDAY(A1,2)>=6,
          COUNTIF(Holidays,INT(A1))>0),WORKDAY(A1,1),
     A1),
IF(OR(
          WEEKDAY(B1,2)>=6,
          COUNTIF(Holidays,INT(B1))>0),WORKDAY(B1,-1)+TIME(23,59,59),
     B1))-1-MOD(
IF(OR(
          WEEKDAY(A1,2)>=6,
          COUNTIF(Holidays,INT(A1))>0),WORKDAY(A1,1),
     A1),1)+MOD(
IF(OR(
          WEEKDAY(B1,2)>=6,
          COUNTIF(Holidays,INT(B1))>0),WORKDAY(B1,-1)+TIME(23,59,59),
     B1),1),"1:00"),0)

例子:

公式示例

4)格式化单元格D1作为时间类型为37:30:55

格式化单元格

5)开始日期/时间为星期六的结果示例。

结果示例

注意:上面只显示一个小时,因为工作日从午夜开始。

==============================================

预期成绩

1)返回指定日期/时间之间的工作时间。

2)如果指定日期/时间之间工作时间少于 0 小时(即在同一周末开始/结束),则返回 0。

3) 四舍五入到最接近的小时数。

4) 一个工作日以24小时计算。 您可能可以修改具体工作时间的公式,但问题中并未具体说明。

==============================================

使用来源

如何在 Excel 中计算不包括周末的小时数

从 Excel 中的日期时间数字中提取日期

如何测试某个日期是否是工作日?

如何在 Excel 中将时间四舍五入到最接近的小时数?

相关内容