Google表格,减去一小时的休息时间

时间:2015-07-13 15:26:14

标签: excel google-sheets excel-formula spreadsheet formulas

说出单元格 A3 ='< 12:00 PM' B3 ='< 39'

此公式将返回&#39; <&#39; 6小时工作

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

但是,我希望公式减去休息时间以便工作一段时间。 比如说:

  •   

    4.5小时=无变化

  •   

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

  •   

    7+小时=减去1小时

我可以在上面的代码中添加什么来实现这个目标?

2 个答案:

答案 0 :(得分:2)

Does this formula work as you want:

=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})

答案 1 :(得分:0)

您可以使用嵌套的if语句 - 这很邋but但您可以复制并粘贴到同一个单元格中(但可能会根据数据的开始位置更改行号):

=如果(IF(ISERROR((TIMEVALUE(B1)-timevalue(A1))* 24), “0”,(TIMEVALUE(B1)-timevalue(A1))* 24)&LT; 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)&LT; 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 )&GT; = 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))))

更简洁的方法是为每个中断间隔创建额外的列(例如,列C仍然计算未调整的工作时间,但如果列C介于5和7之间,则添加等于-0.5的列D,并添加如果列C大于7,则列E等于-1,然后列F添加列C,D和E)