Excel。日期和时间 = 轮班 X
Excel. date and time = workshift X
我有一个包含日期和时间的单元格,格式为:(dd-mm-yyyy tt:mm)
基于此,我想提取在我的 excel 文件中生成数据的偏移。
班次如下
- 白班:06:01-14:00(周一至周四)06:00-13:20(周五)
- 夜班:14:01-22:50(周一至周四)
- 夜班:22:36-06:00(周日晚上-周一早上)22:51-06:00(周一-周五)
- 周末轮班:13:21-01:20(周五)10:40-22:35(周日)
- 那些班次之外的任何事件都应作为班次返回:加班
我已经@this 好几个小时了,但没有结果。有人愿意接受挑战吗? :)
我认为这样做的方法是设置一个 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")
我有一个包含日期和时间的单元格,格式为:(dd-mm-yyyy tt:mm)
基于此,我想提取在我的 excel 文件中生成数据的偏移。
班次如下
- 白班:06:01-14:00(周一至周四)06:00-13:20(周五)
- 夜班:14:01-22:50(周一至周四)
- 夜班:22:36-06:00(周日晚上-周一早上)22:51-06:00(周一-周五)
- 周末轮班:13:21-01:20(周五)10:40-22:35(周日)
- 那些班次之外的任何事件都应作为班次返回:加班
我已经@this 好几个小时了,但没有结果。有人愿意接受挑战吗? :)
我认为这样做的方法是设置一个 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")