一、案例说明
1.问题背景排班,子表单需提交每周的排班人员,每位人员值班2天,共4个人员轮循
2.解决思路
- 给值班人员编号,分别对应编号1,2,3,4
- 在子表单实现11223344的编号循环,以编号进行数据联动,带出对应的值班人员,实现效果如下图
3.外链
4.应用安装链接
二、设计说明
1.值班人员编号
2.子表单循环编号排班
序号:利用公式生成连续子表单编号 ,(SEARCH(子表单.随机码,辅助2)-1)/36+1+上条数据子表单最后一行序号值 随机码:辅助编号,UUID() 判断1:看子表单的序号与重复频率 2 的关系(场景要求每位人员值班2天,重复频率即为2) IF(MOD(子表单.序号,2)==0,INT(子表单.序号/2),INT(子表单.序号/2)+1) 判断2:再看对重复频率2判断之后,该编号与人数4的关系(循环格式是11223344,每四个人以轮循,则对4求余) IFS(MOD(子表单.判断1,4)==0,4,MOD(子表单.判断1,4)==1,1,MOD(子表单.判断1,4)==2,2,MOD(子表单.判断1,4)==3,3) 值班人:设置数据联动
辅助1:设置默认值,辅助子表单连续编号 辅助2:辅助子表单连续编号,获取随机码集合,CONCATENATE(子表单.随机码) 当前子表单最后一行序号值:子表单.序号[COUNT(子表单.序号)-1] 上条数据子表单最后一行序号值:MAPX("last",辅助1,辅助1,当前子表单最后一行序号值)
编辑于 2021-7-9 14:01
|