Excel。日期和时间 = 轮班 X

Excel. date and time = workshift X

我有一个包含日期和时间的单元格,格式为:(dd-mm-yyyy tt:mm)
基于此,我想提取在我的 excel 文件中生成数据的偏移。

班次如下

我认为这样做的方法是设置一个 table,其中包含用于各种参数的列,以及用于工作日的计算列。

我将 table 命名为 Shifts 并使用结构化引用以便于维护和将来的理解,但如果必须的话,您可以使用常规引用。

移位Table

E2 中的公式:

=MATCH([@Day],{"Sunday";"Monday";"Tuesday";"Wednesday";"Thursday";"Friday";"Saturday"},0)

公式将 return Shift,给定时间戳:

=IFERROR(
       LOOKUP(2,1/(
              (MOD(timeStamp,1)>=Shifts[startTime])*
              (MOD(timeStamp,1)<=Shifts[endTime])*
              (WEEKDAY(timeStamp)=Shifts[wdNum])),Shifts[Shift]),
      "Overtime")

随机结果

在具有结构化引用的Table中使用公式

=IFERROR(
       LOOKUP(2,1/(
              (MOD([@timeStamp],1)>=Shifts[startTime])*
              (MOD([@timeStamp],1)<=Shifts[endTime])*
              (WEEKDAY([@timeStamp])=Shifts[wdNum])),Shifts[Shift]),
      "Overtime")