在Excel中计算一定范围内的小时数

我想增强我的时间表的function。 我想计算一个人的小时数是否在一个范围内,如果是的话,计算一下小时数。 例如:

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

从上面的时间来看,我想统计一下他们在19:30 - 07:30之间的工作19:30 - 07:30

手动计算这个工作在9.5小时 – 或09:30。

非常感谢。

在我testing过的所有情况下,这都是为我工作的:

数据单元格:

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

A2:时钟input| 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 

如果时间跨度超过一天,这个工作的关键是细胞包括date。 在Excel中,如果你只是input时间,它的(假)date是00/01/1900,所以在结束时间有适当的date,我指定第二天:01/01/1900。 因此,如果你只有时间,你也必须这样做。

但是,如果从数据库中获得完整的DateTime ,则不会出现此问题,但是必须修改范围单元格才能获得相应的date,或者修改时钟单元以将date转换回00/01/1900,取决于你的情况。 如果您需要帮助,请提供一些更多的细节。

式:

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