计算excel上特定范围内的小时数

时间:2014-10-09 12:26:03

标签: excel

我想要增强时间表的功能。我想计算一个人的小时是否属于一个范围,如果是,则计算一个小时。例如:

用户在时间表上输入: Tuesday: 05:00 - 04:00即 - 他们工作了23个小时。

从上面的时间开始,我想计算他们在时间范围19:30 - 07:30之间工作了多少小时。

手动计算时间为9.5小时 - 或09:30。

非常感谢。

2 个答案:

答案 0 :(得分:1)

公式:

=IF(ClockOut<RangeStart,0,IF(ClockIn>RangeEnd,0,IF(ClockOut<RangeEnd,ClockOut,RangeEnd)-IF(ClockIn>RangeStart,ClockIn,RangeStart)))

答案 1 :(得分:0)

在我测试的所有案例中,这都适用于我:

数据单元格:

  

A1:范围开始| B1:范围结束

     

A2:时钟输入| B2:退出

公式:

=IF(B2<A1,0,IF(A2>B1,0,IF(A2<A1,IF(B2>B1,B1-A1,B2-A1),IF(B2>B1,B1-A2,B2-A2))))

结果是以天为单位,所以如果您想在几小时内完成,只需乘以24。

=IF(B2<A1,0,IF(A2>B1,0,IF(A2<A1,IF(B2>B1,B1-A1,B2-A1),IF(B2>B1,B1-A2,B2-A2))))*24

如果时间跨度超过一天,那么细胞包含日期的工作至关重要。在Excel中,如果您只输入时间,其(假)日期是00/01/1900,所以对于具有适当日期的结束时间,我指定了第二天:01/01/1900。因此,如果你只有时间,你也必须这样做。

但是如果从数据库中获得完整的DateTime,则不会出现此问题,但您必须修改范围单元格以获得相应的日期,或修改时钟要将日期转换回00/01/1900的单元格,具体取决于您的方案。如果您需要帮助,请提供更多详细信息。