EXCEL制作一排班表

本人想要一个排班表,大概班次是这样:
A君星期1在一号窗口,上早上8点到12点;下午2点到5点;
B君星期1在一号窗口,上中午12点到2点;下午5点到晚上9点;
C君星期1在一号窗口,上中午12点到2点;
D君星期1在一号窗口,9点到第二天早上8点。
E君休息

这个是一天的班,轮着走,第二天A君就上B君的班,如此类推。
或者也可以这么说
A君星期一,1号班;
B君星期一,2号班;.......如此类推

请高手赐教,谢谢。答案满意+正确,继续补加分。

先做一个班次表,如在G1到H4:

早上8点到12点;下午2点到5点 1
中午12点到2点;下午5点到晚上9点 2
中午12点到2点 3
9点到第二天早上8点 4

在A1输第一天的日期
A2=INT(ROW(A1)/COUNTA($G$1:$G$10))+$A$1
往下拉.

B1=INDEX($G$1:$G$10,MOD(ROW()-1,COUNTA($G$1:$G$10))+1)
往下拉.

C1=CHOOSE(MOD(INT((ROW()-1)/COUNTA($G$1:$G$10))+INDEX($H$1:$H$10,MOD(ROW()-1,COUNTA($G$1:$G$10))+1)-1,5)+1,"A","B","C","D","E")
往下拉.

班次要改的话,直接在G到H列改就可以了,只要班次不超过10班公式都应该不会有问题.

比如说,如果你想把不同时间单列的话,在G1:H6直接输:
早上8点到12点 1
中午12点到2点 2
中午12点到2点 3
下午2点到5点 1
下午5点到晚上9点 2
9点到第二天早上8点 4

要改倒班人数的话,就要改C1的公式:
C1=CHOOSE(MOD(INT((ROW()-1)/COUNTA($G$1:$G$10))+INDEX($H$1:$H$10,MOD(ROW()-1,COUNTA($G$1:$G$10))+1)-1,倒班人数)+1,倒班人名顺序清单)

比如说是6个人倒班:
C1=CHOOSE(MOD(INT((ROW()-1)/COUNTA($G$1:$G$10))+INDEX($H$1:$H$10,MOD(ROW()-1,COUNTA($G$1:$G$10))+1)-1,6)+1,"A","B","C","D","E","F")
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-03-24

看看是哪种?一个星期是不行的,不能循环过来要长期循环

第2个回答  2010-03-25
A君 B君 C君 D君 E君
1 1号班 2号班 3号班 4号班 5号班
2 2号班 3号班 4号班 5号班 1号班
3 3号班 4号班 5号班 1号班 2号班
4 4号班 5号班 1号班 2号班 3号班
5 5号班 1号班 2号班 3号班 4号班
6 1号班 2号班 3号班 4号班 5号班
7 2号班 3号班 4号班 5号班 1号班
8 3号班 4号班 5号班 1号班 2号班
9 4号班 5号班 1号班 2号班 3号班
10 5号班 1号班 2号班 3号班 4号班
11 1号班 2号班 3号班 4号班 5号班
12 2号班 3号班 4号班 5号班 1号班
13 3号班 4号班 5号班 1号班 2号班
14 4号班 5号班 1号班 2号班 3号班
15 5号班 1号班 2号班 3号班 4号班
16
看你的的班次是5天一循环,那就把前5天的班次做好以后,向下复制就好啦,很方便的
第3个回答  推荐于2016-06-10
在A1输第一天的日期
A2=INT(ROW(A1)/COUNTA($G$1:$G$10))+$A$1
往下拉.

B1=INDEX($G$1:$G$10,MOD(ROW()-1,COUNTA($G$1:$G$10))+1)
往下拉.

C1=CHOOSE(MOD(INT((ROW()-1)/COUNTA($G$1:$G$10))+INDEX($H$1:$H$10,MOD(ROW()-1,COUNTA($G$1:$G$10))+1)-1,5)+1,"A","B","C","D","E")
往下拉.

班次要改的话,直接在G到H列改就可以了,只要班次不超过10班公式都应该不会有问题.本回答被提问者采纳
第4个回答  2010-03-24

如图