Распределить случайным образом - PullRequest
0 голосов
/ 26 апреля 2020

Я ищу способ сделать это ...

У меня есть какие-то действия, и мне нужно их распределить (900 действий на 15 человек), но это должно быть случайным образом, я нашел способ распределения случайным образом, но он не является объективным.

Формула, которую я использовал

=INDEX(A2:A16,RANDBETWEEN(1,COUNTA(A2:A16))

и результат не является равным

person 1    93
person 2    86
person 3    86
person 4    93
person 5    100
person 6    115
person 7    111
person 8    48
person 9    42
person 10   34
person 11   42
person 12   60

Существует способ сделать это более объективным, потому что, например, человек 7 имеет гораздо больше деятельности, чем де человек 10?

1 Ответ

0 голосов
/ 26 апреля 2020

Попробуйте:

Sub croupier()
    Dim i As Long, wf As WorksheetFunction
    Dim cell As Range

    Set wf = Application.WorksheetFunction

    For i = 1 To 900
        Set cell = Range("B" & wf.RandBetween(1, 15))
        cell.Value = cell.Value + 1
    Next i
End Sub

Типичный результат:

enter image description here

Процесс:

  1. выбрать ячейку между B1 и B15 в случайном порядке
  2. увеличить значение ячейки на одну

Процесс повторяется 900 раз.

РЕДАКТИРОВАТЬ # 1:

Макросы очень легко установить и использовать:

  1. ALT-F11 открывает окно VBE
  2. ALT-I ALT-M открывает модуль fre sh
  3. , вставляет содержимое и закрывает окно VBE

Если вы сохраните книгу, макрос будет сохранен вместе с ней. Если вы используете версию Excel более поздней, чем в 2003 году, вы должны сохранить файл как .xlsm, а не .xlsx

В удалить макрос:

  1. откройте окно VBE, как указано выше
  2. очистите код
  3. закройте окно VBE

до используйте макрос из окна Excel :

  1. ALT-F8
  2. Выберите макрос
  3. Нажмите RUN

Чтобы узнать больше о макросах в целом, см .:

http://www.mvps.org/dmcritchie/excel/getstarted.htm

и

http://msdn.microsoft.com/en-us/library/ee814735 (v = office.14) .aspx

Макросы должны быть включены, чтобы это работало!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...