【问题标题】:Excluding certain time periods in Excel在 Excel 中排除某些时间段
【发布时间】:2015-09-22 12:18:44
【问题描述】:

我目前正在尝试制定一个功能,该功能将跟踪在交付客户方面花费了多少时间。员工向我提供他们开始交付工作的日期和时间以及他们完成工作的日期和时间。

我以目前的方式处理这些信息:

  • 第 1 列包含“dd/mm/yyyy hh:mm”表示开始时间
  • 第 2 列包含完成时间的“dd/mm/yyyy hh:mm”

现在,我们只在一天中的特定时间工作:我们从 7:15 开始,在 16:45 结束工作,从 12:00 到 12:30 还有 30 分钟的休息时间。 除此之外,我们只在工作日工作,因此不应计算任何属于周末的时间段。

计算休息是否是时间段的一部分很容易处理,我还找到了一种方法来确保在一天过去后减去 14:30,但我不知道如何做到这一点,以便订单应该计算需要多天的准备时间。

一组示例数据(开始 - 结束 ==> 总计 (hh:mm))

2015 年 2 月 23 日星期一 07:45 - 2015 年 2 月 23 日星期一 10:05 ==> 02:20

2015 年 2 月 24 日星期二 11:50 - 2015 年 2 月 24 日星期二 15:35 ==> 03:15(因休息而减去 0:30)

2015 年 2 月 25 日星期三 14:45 - 2015 年 2 月 26 日星期四 07:45 ==> 02:30(由于一天结束而减去 14:30)

2015 年 2 月 27 日星期五 16:00 - 2015 年 2 月 3 日星期一 07:45 ==> 01:15(由于周末而减去 62:30)

2015 年 3 月 30 日星期一 13:20 - 2015 年 1 月 4 日星期三 12:00 ==> 17:10(减去 29:30:2 天 1 次休息)

前三种情况由我当前的代码处理,但我不知道如何让它计算后两种情况。

我使用附加列来检查中断是否在两次之间(A3 包含 =TEXT(A1;"dd/mm/yyyy ")&"12:00" 并且要检查的函数是 =IF(AND (A2>A3;A3>A1);"0:30";0)

第 4 列包含要检查第二天的数据:A4 包含 =TEXT(A1+"24:00";"dd/mm/yyyy ")&"7:15" 并且要检查的函数是 =IF(A2 >A4;"14:30";0)

如您所见,当需要一个周末或多天才能完成订单时,这会带来问题。

我衷心感谢任何花时间从事此工作的人;一个星期以来,我一直在为此绞尽脑汁。

亲切的问候, 冯

【问题讨论】:

    标签: date datetime time excel-formula excel-2010


    【解决方案1】:

    我认为最简单的方法是使用 NETWORKDAYS 来获取在项目上花费的天数(完整或不完整),然后减去未花费在该项目上的天数。

    我选择将其分解为四个独立的公式。

    在 C2 中花费的天数或部分天数(转换为时间)

    =NETWORKDAYS(A2,B2)*9/24
    

    从 D2 的开始日期减去时间

    =IF(TIME(HOUR(A2),MINUTE(A2),0)<=TIME(12,0,0),TIME(HOUR(A2),MINUTE(A2),0)-TIME(7,15,0),TIME(HOUR(A2),MINUTE(A2),0)-TIME(7,45,0))
    

    从 E2 的结束日减去的时间

    =IF(TIME(HOUR(B2),MINUTE(B2),0)<=TIME(12,0,0),TIME(16,15,0)-TIME(HOUR(B2),MINUTE(B2),0),TIME(16,45,0)-TIME(HOUR(B2),MINUTE(B2),0))
    

    然后F2中的结果

    =C2-D2-E2
    

    我假设不会出现午休时间或非工作时间。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-06
      • 1970-01-01
      • 2017-02-24
      相关资源
      最近更新 更多