我想要增强时间表的功能。我想计算一个人的小时是否属于一个范围,如果是,则计算一个小时。例如:
用户在时间表上输入:
Tuesday: 05:00 - 04:00
即 - 他们工作了23个小时。
从上面的时间开始,我想计算他们在时间范围19:30 - 07:30
之间工作了多少小时。
手动计算时间为9.5小时 - 或09:30。
非常感谢。
答案 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的单元格,具体取决于您的方案。如果您需要帮助,请提供更多详细信息。