Prex云道2021-6-23 14:28:35
本帖最后由 liu_lijian1 于 2021-6-23 14:32 编辑

按照你的描述,主要还是找规律,你按规律去设定,就是简单的加减法了。
你在排班时,肯定也是排未来指定日期内的班次,那么指定起止日期来排班。
开始日期:设定好开始日期的白班班组和晚班班组(假如设定:AB),就可以直接去自动累加计算了。
根据间隔天数,去自动更新班组:间隔天数除以6的余数0和余数为1, 白晚班就是AB
                                                      间隔天数除以6的余数2和余数为3, 白晚班就是BC
                                                     间隔天数除以6的余数4和余数为5, 白晚班就是CA
如果你是3天换班,设定开始日期白班夜班班组为:BC
根据间隔天数,去自动更新班组:间隔天数除以9的余数0和余数为1, 白晚班就是BC
                                                      间隔天数除以9的余数2和余数为3, 白晚班就是CA
                                                     间隔天数除以9的余数4和余数为5, 白晚班就是AB

如果搞不定,私信我!
+11

最近谁赞过

Prex云道2021-6-24 18:56:15
本帖最后由 liu_lijian1 于 2021-6-24 19:44 编辑

思路都给你了,剩下的就是灵活去运用函数和公式去实现:
.
只设置了早晚班,早中晚的情况,自己去实现:

早班表达式:IF( 求余数(  (本表单.排班明细.间隔天数 + 本表单.换班周期  *3) , 本表单.换班周期  * 3  )<  本表单.换班周期 ,  文本片段(本表单.上班班组,",",1) ,IF(求余数(  (本表单.排班明细.间隔天数 + 本表单.换班周期  *3) , 本表单.换班周期  * 3  ) >= 本表单.换班周期 *2  ,  文本片段(本表单.上班班组,",",2) , 文本片段(本表单.上班班组,",",3)  )  )


晚班表达式:IF( 求余数(  (本表单.排班明细.间隔天数 + 本表单.换班周期  *3) , 本表单.换班周期  * 3  ) <  本表单.换班周期 ,  文本片段(本表单.上班班组,",",2) ,IF(求余数(  (本表单.排班明细.间隔天数 + 本表单.换班周期  *3) , 本表单.换班周期  * 3  )>= 本表单.换班周期 *2  ,  文本片段(本表单.上班班组,",",3) , 文本片段(本表单.上班班组,",",1)  )  )

求余数函数应用:  求余数(被除数,除数)=余数      余数(6,9)=3
除数:就是一个轮班周期,等于  换班天数*3   (找规律:2天一换班,周期就是6天;3天一换班,周期就是9天)
被除数:就是排班日期和开始日期的间隔天数,由于被除数为0(第一天和开始日期的间隔天是0)时,计算错误所以,我们可以把被除数加上一个周期天数就正常了。因此,被除数,等于   间隔天数+换班天数*3

以2天换班为例说明:
当余数<换班天数(1个周期中前面两天):
早班就取:班次中的第1班组(可以用:文本片段函数取值)
晚班就取:班次中的第2班组(可以用:文本片段函数取值)

当余数>=换班天数*2(1个周期中最后两天):
早班就取:班次中的第2班组(可以用:文本片段函数取值)
晚班就取:班次中的第3班组(可以用:文本片段函数取值)

剩下的就是(1个周期中中间两天):
早班就取:班次中的第3班组(可以用:文本片段函数取值)
晚班就取:班次中的第1班组(可以用:文本片段函数取值)
GIF动图当中还取错了,已经按上面思路调整后,是正确的了,没有再重新录GIF图片了


+10
需要登录后才可进行回复 登录

玩转云表从入门到精通
扫码添加微信立即领取

·云表创始人授课文件
·加入社群与培训学习
·切磋云表开发玩法

商务咨询:0756-3335860
客服咨询