1

Я не могу найти способ сделать это. У меня есть пять клеток в Excel. Я хочу объединить их в строку случайным образом. Я хочу использовать каждый символ ячейки один раз в строящейся строке, поэтому я получаю строку из пяти символов, без повторов. Скажем, у меня есть A1 = Y, B1 = u, C1 = 6, D1 =%, E1 = z. Я хочу построить строку, в которой каждый символ находится в случайном порядке: uY6% z или zY% u6 одинаково приемлемы (и т.д. так далее)

Есть ли способ сделать это?

2 ответа2

0

Вы можете выполнить перемешивание Фишера-Йейтса в VB для приложений (VBA), например, используя реализацию алгоритма, показанную здесь.

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

0

Похоже, это описывает, что вы хотите?

https://www.extendoffice.com/documents/excel/2484-excel-random-number-no-duplicates-no-repeat.html

Как только вы получите список чисел без дубликатов, вы можете использовать его для INDEX() в ваших значениях с помощью CONCATENATE().

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .