需要计算两个时间范围内的特定小时数

问题描述 投票:0回答:1

我正在尝试为员工进行时间登记。我已经制作了一个Google表单,员工可以使用以下格式注册开始日期和时间以及结束日期和时间:

Employee X  |  10/6/2019 12:00:00  |  10/6/2019 20:00:00

这是Google表格中的3个单元格。

[员工在早晨18:00和06:00之间工作时需要获得多倍的报酬。因此,我需要一个公式,该公式可以计算出他们班次的开始时间和结束时间,并计算在18:00和06:00之间有多少班次,并返回他们在此框架中工作的小时数。

在上面的示例中,X员工从12:00到20:00(总工作时间为8小时)工作。

但公式需要返回18:00和06:00之间的小时数,例如2小时。在自己的单元格中。

我已经尝试过各种COUNTIFSFILTER和其他内容,但是我无法解决。

有人有魔力吗?

if-statement time google-sheets google-sheets-formula array-formulas
1个回答
0
投票

这应该涵盖它:

=ARRAYFORMULA(IFERROR(IF(
 (IF(DATEVALUE(C1:C)>DATEVALUE(B1:B), 1, 0)+TIMEVALUE(C1:C)>0.75)*
 (IF(DATEVALUE(C1:C)=DATEVALUE(B1:B), 1, 0)+0.25>TIMEVALUE(C1:C)), 
 TEXT((0.75-TIMEVALUE(C1:C))*-1, "hh:mm:ss"), )))

0


note:0.75= 18:00:00和0.25 = 6:00:00

© www.soinside.com 2019 - 2024. All rights reserved.