【问题标题】:Need to count how many specific hours are within 2 timeframes需要计算 2 个时间范围内的具体小时数
【发布时间】:2019-10-02 01:32:20
【问题描述】:

我正在尝试为员工进行时间登记。 我制作了一个 Google 表单,员工将以这种格式注册开始日期和时间和结束日期和时间:

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

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

员工在早上 18:00 和 06:00 之间工作时需要多获得 x 倍的报酬。 因此,我需要一个公式来计算他们轮班的开始时间和结束时间,并计算 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】:

    这应该涵盖它:

    =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.75 = 18:00:00 和 0.25 = 6:00:00

    【讨论】:

    • 这就像一个魅力!非常感谢,我自己也不会想到这个:)
    猜你喜欢
    • 1970-01-01
    • 2019-05-27
    • 2018-12-28
    • 1970-01-01
    • 1970-01-01
    • 2020-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多