Google表格,从几小时内扣除分数

说单元格A3 = '12:00 PM'B3 ='6:00 PM'

这个公式将返回6 ,工作6个小时

=IF(ISERROR((TIMEVALUE(B3)-TIMEVALUE(A3))*24),"0",(TIMEVALUE(B3)-TIMEVALUE(A3))*24) 

不过,我希望这个公式能够减less工作时间。 比如说:

  • 4.5小时=没有变化

  • 5-7小时=减去.5小时(30分钟)

  • 7+小时=减1小时

我可以添加到上面的代码来实现这一目标?

这个公式是否正常工作:

=IF(ISERROR((TIMEVALUE(B3)-TIMEVALUE(A3))*24),"0",(TIMEVALUE(B3)-TIMEVALUE(A3))*24)-LOOKUP((TIMEVALUE(B3)-TIMEVALUE(A3))*24,{0,0;5,0.5;7,1})

您可以使用嵌套if语句 – 这是sl but不驯的,但您可以复制并粘贴到同一个单元格(但也许更改行号取决于数据开始):

= IF(IF(ISERROR((TIMEVALUE(B1)-timevalue(A1))* 24), “0”,(TIMEVALUE(B1)-timevalue(A1))* 24)<4.5,如果(ISERROR((TIMEVALUE( B1)-timevalue(A1))* 24), “0”,(TIMEVALUE(B1)-timevalue(A1))* 24)中,如果(和(如果(ISERROR((TIMEVALUE(B1)-timevalue(A1)) * 24), “0”,(TIMEVALUE(B1)-timevalue(A1))* 24)> 5,如果(ISERROR((TIMEVALUE(B1)-timevalue(A1))* 24), “0”,(TIMEVALUE (B1)-timevalue(A1))* 24)<7),如果(ISERROR((TIMEVALUE(B1)-timevalue(A1))* 24), “0”,(TIMEVALUE(B1)-timevalue(A1)) * 24)-0.5,如果(IF(ISERROR((TIMEVALUE(B1)-timevalue(A1))* 24), “0”,(TIMEVALUE(B1)-timevalue(A1))* 24)> = 7,如果(ISERROR((TIMEVALUE(B1)-timevalue(A1))* 24), “0”,(TIMEVALUE(B1)-timevalue(A1))* 24)-1,如果(ISERROR((TIMEVALUE(B1)-timevalue (A1))* 24), “0”,(TIMEVALUE(B1)-timevalue(A1))* 24))))

更干净的方法是为每个rest时间间隔创build额外的列(例如,C列仍然计算未调整的工作时间,但如果列C在5到7之间,则添加列D等于-0.5,并添加列E如果列C大于7,则等于-1,则列F添加列C,D和E)