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)