【问题标题】:Calculate Working days and time between two days in excel在excel中计算工作日和两天之间的时间
【发布时间】:2023-03-30 09:56:01
【问题描述】:

我写了下面的excel公式来计算两个日期之间的工作时间*(不包括周六和周日)*。

如果开始日期和结束日期在星期一到星期五之间,效果会很好。如果这两天都包括周六或周日,则会引发错误。

如果开始日期在周六或周日,我正在寻求帮助,它应该以下一个工作日作为开始日,如果结束日期在周六或周日,则应该以前一个工作日作为结束日。


下面是示例和我的工作。然后它应该以 h:mm 格式返回结果


Startdate        :   enddate          :   Working hours(exc sat and sun)
9/28/2013 2:20   :   9/29/2013 2:39   :   Both
9/29/2013 2:39   :   9/29/2013 2:39   :   Both
9/29/2013 2:39   :   9/27/2013 13:18  :   StartDate
9/27/2013 13:18  :   9/29/2013 2:22   :   Enddate
10/1/2013 21:22  :   10/2/2013 0:33   :   3.10
9/30/2013 2:22   :   9/30/2013 5:22   :   3.00

和c2中的公式

=IF(OR(WEEKDAY(A2)=1,WEEKDAY(A2)=7,WEEKDAY(B2)=1,WEEKDAY(B2)=7),IF(AND(OR(WEEKDAY(A2)=1,WEEKDAY(A2)=7),OR(WEEKDAY(B2)=1,WEEKDAY(B2)=7)),"Both",IF(OR(WEEKDAY(A2)=1,WEEKDAY(A2)=7),"StartDate","Enddate")),TEXT(B2-A2-(NETWORKDAYS.INTL(A2,B2,"0000000")-NETWORKDAYS(A2,B2)),"D")*24+TEXT(B2-A2-(NETWORKDAYS.INTL(A2,B2,"0000000")-NETWORKDAYS(A2,B2)),"H.MM"))

如果您需要任何帮助,请告诉我

【问题讨论】:

  • 一天工作多少小时?

标签: excel excel-formula


【解决方案1】:

计算两个日期之间的整个工作日,不包括这些日期:

=MAX(NETWORKDAYS.INTL(A1+1,B1-1),0)

计算第一个日期的工作时间(直到一天结束):

=IF(WEEKDAY(A1,2)<=5,ROUNDDOWN(A1+1,0)-A1,0)

计算最后一天的工作时间(直到一天结束):

=IF(WEEKDAY(B1,2)<=5,ROUNDDOWN(B1+1,0)-B1,0)

总结这些,然后就可以了。

【讨论】:

  • 感谢您的回复..它真的很有帮助..我上面的公式也做同样的..我担心的是。如果开始日期是星期六或星期日,Excel 应将下一个工作日作为开始日期(星期一)。如果结束日期是星期六或星期日,则应以前一个工作日为结束日期(星期五)
  • 我认为无论如何它都会忽略假期。您应该使用示例日期进行测试并查看结果。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-13
  • 2019-05-03
  • 2012-04-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多