Случайное изменение расписания на неделю - PullRequest
0 голосов
/ 07 мая 2020

У меня есть список, который повторяется каждый день. Чтобы рандомизировать список, у меня есть два столбца в excel, первый столбец имеет имена, а второй список использует =rand() для создания случайного семени. Затем я упорядочиваю два столбца от наименьшего к наибольшему на основе начального числа во втором столбце. Есть ли способ ввести список элементов в один столбец и получить семь рандомизированных версий списка?

1 Ответ

0 голосов
/ 07 мая 2020

Хорошо, давай попробуем. Начните с написания ваших имен в именованном диапазоне. Я назвал его NameList, но любое другое имя будет не хуже. Этот список может находиться где угодно в вашей книге, и в нем может быть любое количество имен. Теперь в основе вашей формулы лежит эта функция.

=INT(RAND()*COUNTA(NameList)+1)

Она возвращает случайное число от 1 до количества имен в вашем списке. Это вы встраиваете в функцию INDEX (), чтобы вернуть случайное имя из этого списка.

=INDEX(NameList,INT(RAND()*COUNTA(NameList)+1))

Вы можете создать столько списков, сколько захотите, в любом месте книги, просто скопировав формулу в одну ячейку и ниже, пока вы хотите, чтобы ваш список был короче или длиннее, чем NameList, не имеет значения.

Единственная проблема, которая у вас будет, кроме кластеризации, заключается в том, что все ваши списки меняются как раз тогда, когда рабочий лист решает, что он хочет пересчитать. Вы можете установить Calculation на «Вручную», но это применимо ко всем Excel, включая даже другие книги. Мне было интересно, можете ли вы использовать опцию Automati c, за исключением таблиц данных , но не пробовал. Самый безопасный способ - просто Copy / Paste Special заменить все формулы их точными значениями. Если вы выберете этот вариант, убедитесь, что вы где-то храните копию формулы: -)

...