微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Excel日期和时间=轮班X

如何解决Excel日期和时间=轮班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(星期日)
  • 那些轮班以外的任何事件都应作为轮班返回:加班

    我来这已经好几个小时了,没有结果。有人要挑战吗? :)

解决方法

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

我将表命名为Shifts,并且正在使用结构化引用来简化维护和将来的理解,但是如果需要,您可以使用常规引用。

排班表

enter image description here

E2中的公式:

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

给出时间戳的公式将返回Shift:

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

随机结果

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

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

enter image description here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。