Как вытащить случайный объект из списка и удалить его в Excel? - PullRequest
0 голосов
/ 25 апреля 2019

Я пытаюсь создать ротационный график в Excel, который будет случайным образом назначать здание раз в неделю без дубликатов.Мне нужно, чтобы каждое здание имело смену утром / днем ​​и чередование на следующей неделе.

Итак, я думал, что есть 20 смен каждые 2 недели, утром / днем ​​5 дней в неделю, и у меня есть 10 зданий, в которые можно пойти, чтобы все было хорошо.Я хочу, чтобы оно было случайным, чтобы я не всегда находился в одном и том же здании каждую неделю в одно и то же время.

Поэтому я использовал =RAND() в столбце B листа 1, чтобы сгенерировать случайное число для каждого зданияа затем вставил его как просто значения, чтобы избавиться от формулы в этом столбце.

Затем на листе 2 я пытался иметь =INDEX(Sheet1!$A$2:$A$11, RANDBETWEEN(1,COUNTA(Sheet1!$B$2:$B$11))) в каждой ячейке графика 5x4.

Проблема в том, что есть дубликаты, и я хочу, чтобы вторая неделя фактически была противоположной утром / днем, новсе еще случайные дни.Я думаю, что мне, вероятно, придется провести рандомизацию утром / днем ​​первой недели, затем сделать дни, а на второй неделе - наоборот, независимо от того, каким было случайное утро / день, а затем снова сделать случайные дни, но я просто не знаю, какидти об этом.

Я новичок в программировании в Excel, и мое программирование немного устарело ...

РЕДАКТИРОВАТЬ: я смог использовать =CHOOSE(RANDBETWEEN(1,2),"Morning","Afternoon"), чтобы выбрать столбец утром / днемслучайным образом, но это не обеспечивает равное количество утра во второй половине дня, который мне нужен.И я до сих пор не знаю, как получить на следующей неделе противоположные результаты.

1 Ответ

0 голосов
/ 25 апреля 2019

Я думаю, вы можете использовать условие if, чтобы убедиться, что вы выбрали противоположное утро / полдень после того, как вы выбрали случайные дни.

вот так:

= IF (AND (B3 = "Morning"), С3 = "утро"), "День" ЕСЛИ (И (B3 = "Afternoon", С3 = "день"), "Утро", С3))

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