Excel: создание случайных групп

Ситуация:

120 человек должны выбрать 3 варианта из списка 10.

мне нужно выбрать наугад 2 из их вариантов (на человека) и разделить их (120 человек) на 12 групп.

12 групп: список из 10 + 2 двойника из списка 10, которые были выбраны больше всего.

Максимальный размер группы 20 человек.

Я нашел эту формулу для выбора 1 случайного выбора из 3, но застрял на следующем шаге:

=ИНДЕКС($A$2:$A$4,СЛУЧМЕЖДУ(1,СЧЕТЧ($A$2:$A$4)),1)

где выбор первого лица находится в A2, A3 и A4

Любые идеи?

пример данных:

список из 10 вариантов: выбор1 выбор2 ... выбор10

список из 120 пользователей: user1 user2 ... user120

список из 12 групп: groupchoice1 groupchoice2 ... groupchoice10 groupchoicewhateverвыбраносамое большое groepchoicewhateverвыбрановторое

пользователь 1 выбрал вариант 4, вариант 6 и вариант 10.

пользователь2 выбрал выбор1, выбор4, выбор7

пользователь3 выбрал выбор5, выбор6, выбор7

...

пользователь120 выбрал выбор3, выбор4, выбор9

=> мне нужно случайным образом выбрать 2 из 3 вариантов от каждого пользователя и поместить этого пользователя в эти 2 группы. Заполните группы до 20 человек.


person Bram Mostinckx    schedule 19.06.2017    source источник
comment
Трудно понять вашу проблему. Может быть, вы можете добавить пример?   -  person Karoline Brynildsen    schedule 19.06.2017
comment
добавил некоторые примеры данных.   -  person Bram Mostinckx    schedule 20.06.2017
comment
Мне кажется, я понимаю, что вы пытаетесь сделать, но почему вы пытаетесь сделать это случайно? Это значительно усложняет выполнение ограничения в 20 человек в каждой группе (с каждым человеком в 2 разных группах). Если вы откажетесь от требования случайности, это может быть установлено как задача целочисленного программирования, которую может решать решатель. В противном случае, вероятно, потребуется VBA. Простые табличные формулы вряд ли будут адекватными.   -  person John Coleman    schedule 20.06.2017


Ответы (1)


Настройте файл... :

column A = user1 user2 ... user120. [starting at A1]
column B,C,D = "choice1 choice2 choice3"
column G,H = "pick 2 from the 3 choices"

column F is used for G & H determination.

Что касается значений

A1 = user1
A2 = user2 ...

и формулы:

B1 ---> =RANDBETWEEN(1,10)
C1 ---> =INDEX(IF(B1=1,{2,3,4,5,6,7,8,9,10},IF(B1=2,{1,3,4,5,6,7,8,9,10},IF(B1=3,{1,2,4,5,6,7,8,9,10},IF(B1=4,{1,2,3,5,6,7,8,9,10},IF(B1=5,{1,2,3,4,6,7,8,9,10},IF(B1=6,{1,2,3,4,5,7,8,9,10},IF(B1=7,{1,2,3,4,5,6,8,9,10},IF(B1=8,{1,2,3,4,5,6,7,9,10},IF(B1=9,{1,2,3,4,5,6,7,8,10},IF(B1=10,{1,2,3,4,5,6,7,8,9},"ERROR")))))))))),RANDBETWEEN(1,9))
D1 ---> =INDEX(IF(OR(AND(B1=1,C1=2),AND(B1=2,C1=1)),{3,4,5,6,7,8,9,10},IF(OR(AND(B1=1,C1=3),AND(B1=3,C1=1)),{2,4,5,6,7,8,9,10},IF(OR(AND(B1=1,C1=4),AND(B1=4,C1=1)),{2,3,5,6,7,8,9,10},IF(OR(AND(B1=1,C1=5),AND(B1=5,C1=1)),{2,3,4,6,7,8,9,10},IF(OR(AND(B1=1,C1=6),AND(B1=6,C1=1)),{2,3,4,5,7,8,9,10},IF(OR(AND(B1=1,C1=7),AND(B1=7,C1=1)),{2,3,4,5,6,8,9,10},IF(OR(AND(B1=1,C1=8),AND(B1=8,C1=1)),{2,3,4,5,6,7,9,10},IF(OR(AND(B1=1,C1=9),AND(B1=9,C1=1)),{2,3,4,5,6,7,8,10},IF(OR(AND(B1=1,C1=10),AND(B1=10,C1=1)),{2,3,4,5,6,7,8,9},IF(OR(AND(B1=2,C1=3),AND(B1=3,C1=2)),{1,4,5,6,7,8,9,10},IF(OR(AND(B1=2,C1=4),AND(B1=4,C1=2)),{1,3,5,6,7,8,9,10},IF(OR(AND(B1=2,C1=5),AND(B1=5,C1=2)),{1,3,4,6,7,8,9,10},IF(OR(AND(B1=2,C1=6),AND(B1=6,C1=2)),{1,3,4,5,7,8,9,10},IF(OR(AND(B1=2,C1=7),AND(B1=7,C1=2)),{1,3,4,5,6,8,9,10},IF(OR(AND(B1=2,C1=8),AND(B1=8,C1=2)),{1,3,4,5,6,7,9,10},IF(OR(AND(B1=2,C1=9),AND(B1=9,C1=2)),{1,3,4,5,6,7,8,10},IF(OR(AND(B1=2,C1=10),AND(B1=10,C1=2)),{1,3,4,5,6,7,8,9},IF(OR(AND(B1=3,C1=4),AND(B1=4,C1=3)),{1,2,5,6,7,8,9,10},IF(OR(AND(B1=3,C1=5),AND(B1=5,C1=3)),{1,2,4,6,7,8,9,10},IF(OR(AND(B1=3,C1=6),AND(B1=6,C1=3)),{1,2,4,5,7,8,9,10},IF(OR(AND(B1=3,C1=7),AND(B1=7,C1=3)),{1,2,4,5,6,8,9,10},IF(OR(AND(B1=3,C1=8),AND(B1=8,C1=3)),{1,2,4,5,6,7,9,10},IF(OR(AND(B1=3,C1=9),AND(B1=9,C1=3)),{1,2,4,5,6,7,8,10},IF(OR(AND(B1=3,C1=10),AND(B1=10,C1=3)),{1,2,4,5,6,7,8,9},IF(OR(AND(B1=4,C1=5),AND(B1=5,C1=4)),{1,2,3,6,7,8,9,10},IF(OR(AND(B1=4,C1=6),AND(B1=6,C1=4)),{1,2,3,5,7,8,9,10},IF(OR(AND(B1=4,C1=7),AND(B1=7,C1=4)),{1,2,3,5,6,8,9,10},IF(OR(AND(B1=4,C1=8),AND(B1=8,C1=4)),{1,2,3,5,6,7,9,10},IF(OR(AND(B1=4,C1=9),AND(B1=9,C1=4)),{1,2,3,5,6,7,8,10},IF(OR(AND(B1=4,C1=10),AND(B1=10,C1=4)),{1,2,3,5,6,7,8,9},IF(OR(AND(B1=5,C1=6),AND(B1=6,C1=5)),{1,2,3,4,7,8,9,10},IF(OR(AND(B1=5,C1=7),AND(B1=7,C1=5)),{1,2,3,4,6,8,9,10},IF(OR(AND(B1=5,C1=8),AND(B1=8,C1=5)),{1,2,3,4,6,7,9,10},IF(OR(AND(B1=5,C1=9),AND(B1=9,C1=5)),{1,2,3,4,6,7,8,10},IF(OR(AND(B1=5,C1=10),AND(B1=10,C1=5)),{1,2,3,4,6,7,8,9},IF(OR(AND(B1=6,C1=7),AND(B1=7,C1=6)),{1,2,3,4,5,8,9,10},IF(OR(AND(B1=6,C1=8),AND(B1=8,C1=6)),{1,2,3,4,5,7,9,10},IF(OR(AND(B1=6,C1=9),AND(B1=9,C1=6)),{1,2,3,4,5,7,8,10},IF(OR(AND(B1=6,C1=10),AND(B1=10,C1=6)),{1,2,3,4,5,7,8,9},IF(OR(AND(B1=7,C1=8),AND(B1=8,C1=7)),{1,2,3,4,5,6,9,10},IF(OR(AND(B1=7,C1=9),AND(B1=9,C1=7)),{1,2,3,4,5,6,8,10},IF(OR(AND(B1=7,C1=10),AND(B1=10,C1=7)),{1,2,3,4,5,6,8,9},IF(OR(AND(B1=8,C1=9),AND(B1=9,C1=8)),{1,2,3,4,5,6,7,10},IF(OR(AND(B1=8,C1=10),AND(B1=10,C1=8)),{1,2,3,4,5,6,7,9},IF(OR(AND(B1=9,C1=10),AND(B1=10,C1=9)),{1,2,3,4,5,6,7,8},"error"))))))))))))))))))))))))))))))))))))))))))))),RANDBETWEEN(1,8))
F1 ---> =RANDBETWEEN(1,3)
G1 ---> =IF(F1=1,C1,B1)
H1 ---> =IF(F1<>3,D1,C1)

Надеюсь это поможет.. (:

person p._phidot_    schedule 19.08.2018