小老七 发表于 2021-11-4 09:17:00

请教随机排座位不重复问题

如图及附件,请教各位大佬,希望能用公式解决。需求是:
1.“座位”表中绿色格子里每个格子分配一名“名单”表中的人
2.分配的人随机,不重复。
3.“座位”表右侧T列显示分配完后剩余的人员姓名。
4.公式最好是右拉下拉直接完成。
谢谢各位大佬的帮助!


飞彤 发表于 2021-11-5 05:30:04

请教各位高手!

江垭花木场 发表于 2021-11-5 20:36:11

H2:Q12{=IF((ROW(A1)=1)*(COLUMN(A1)=1)+(MOD(ROW(A1),2)=0)+OR(COLUMN(A1)={4,7}),"",INDEX(名单!$A:$A,SMALL(IF((COUNTIF(座位!$H$1:$Q1,名单!$A$2:$A$109)=0)*(COUNTIF($G2:G2,名单!$A$2:$A$109)=0),ROW($2:$109),4^8),RANDBETWEEN(1,108-INT(ROW(A1)/2)*8-SUM(N($G2:G2<>""))+(ROW(A1)>1)))))
T2下拉{=INDEX(名单!A:A,SMALL(IF(COUNTIF(H:Q,名单!A$2:A$109),4^8,ROW($2:$109)),ROW(A1)))&""
验证 (47为正确) U2{=SUM(COUNTIF(H:Q,A2:A109))

洛星 发表于 2021-11-11 19:26:19

你好大佬,您的公式是没问题。这边还是有进一步的请求,因为教室我都分了表,所以希望从3-1开始随机分配人员。然后分配3-2,直到5-4教室。但目前看到分配出来的人员数量有问题。我把第一次分到3-1的剩余人直接列在人员的B列,之后每分配一个教室剩余的人员都加在后面一列。但我数了一下,3-1有45个人员,一共有108人,108-45=63人,但剩余人数却是69人,请问是哪里的问题呢?因为这边教室的座位数为607个,我希望能满足600人的录入和所有教室公式的计算。谢谢大佬!

战略高手 发表于 2021-11-17 07:46:54

请求帮助!谢谢!

汽车养护大师 发表于 2021-11-25 02:58:16


vba解

小菜苗 发表于 2021-11-26 17:37:44

感谢帮助,我输入宏以后,出现了错误,请问是什么原因呢?

仟佰度 发表于 2021-12-12 21:53:11

少了个scells

太过低调的我 发表于 2021-12-13 14:23:10

不好意思,是我少打了一个字。

三馨 发表于 2021-12-23 10:42:25

楼上有附件,直接下载运行吧
页: [1] 2 3
查看完整版本: 请教随机排座位不重复问题