在Excel中计算一定范围内的小时数
我想增强我的时间表的function。 我想计算一个人的小时数是否在一个范围内,如果是的话,计算一下小时数。 例如:
用户在他们的时间表上Tuesday: 05:00 - 04:00
: Tuesday: 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)))