本帖最后由 丢丢表格 于 2018-6-26 08:21 编辑
这个题的思路是: 由于开始时不一定,相对计算的条件较为复杂,
如: 9:00 以前开始的,它开始计算工作时 就是 9:00
9:00 至 12:00 的 ,就须按实时计算工作时间
12:00 至 13:00 ,要以 13:00 开始计算工作时间
13:00 至 18:00 的 要实时计算工作时间
18:00 至 次日 9:00 的 这段时间内不能计算工作时间
上面的条件是不是太乱了,为了简化条件, 我们统一到 9:00 开始计算工作时间
那么 就要计算 开始时点 到 早上的 9:00 已有多少工作时间
公式写法: SUM(TEXT(MOD(A2,1)*24-{9,13;12,18},"[<]!0")*{1;-1})
以上的工作时间加上B2的工作时间 ,看这个时长 有多少个8 小时,即有多少天 ,每天是8 个小时的工作时间 还须加上 1小时的午休和 下班的 15 小时 (18:00 至 次日的9:00)
公式: =SUM(TRUNC((SUM(TEXT(MOD(A2,1)*24-{9,13;12,18},"[<]!0")*{1;-1})+B2+{5,0,0})/{8,8,1},{0,0,5})*{1,15,1})/24
上面计算出来的是 含休息时间的总时长,再加上 开工起的 9点, 再加上开始时的日期,就是结束日期和时点。
公式
=SUM(TRUNC((SUM(TEXT(MOD(A2,1)*24-{9,13;12,18},"[<]!0")*{1;-1})+B2+{5,0,9})/{8,8,1},{0,0,5})*{1,15,1})/24+INT(A2)
整理公式为
=SUM(TRUNC((MEDIAN(MOD(A2,1)*24-{9,10},,3,8)+B2+{5,0,9})/{8,8,1},{0,0,5})*{1,15,1})/24+INT(A2)
以上是我个人的解题思路,供大家参考,有不当之处请指正。
|