Размещение случайно сгенерированных чисел в случайные позиции в диапазоне строк

Я хотел бы сгенерировать 5 случайных чисел от 1 до 49 и поместить их в диапазон строк, например A1:AA1, в 5 случайных позициях. Пустые ячейки должны получить значение 0.

Основная концепция — =RANDARRAY(1,27,1,49,TRUE). Это почти работает, но заполняет все 27 ячеек. Мне нужно каким-то образом заполнить только 5 случайно выбранных ячеек из 27 (например: A1, G1, L1, M1, X1).

Как это может быть сделано?

Преобразование HTML-таблицы в профессиональный документ Excel
Преобразование HTML-таблицы в профессиональный документ Excel
Это самый простой способ создания Excel из HTML-таблицы.
Импорт excel в laravel в базу данных
Импорт excel в laravel в базу данных
Здравствуйте, дорогой читатель, в этой статье я расскажу практическим и быстрым способом, как импортировать файл Excel в вашу базу данных с помощью...
13
0
1 131
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

Ответ принят как подходящий

Попробуйте эту формулу:

=LET(values,RANDARRAY(1,27,1,49,TRUE),
random5, TAKE(SORTBY(SEQUENCE(27),RANDARRAY(27,,1,27,TRUE)),5),
MAP(values,SEQUENCE(1,27),LAMBDA(v,i,IF(ISNA(MATCH(i,random5,0)),0,v))))

Он удаляет из первоначальных 27 значений все, кроме 5, которые были созданы случайным образом.

random5: случайным образом сортирует последовательность из 27 значений и принимает 5 верхних значений.

Эти значения затем используются в качестве индекса сохраненных значений — все остальные значения возвращаются как 0.

Вот что я предлагаю использовать, о чем я также прокомментировал выше:


=BYCOL((TAKE(UNIQUE(MAP(SEQUENCE(27),LAMBDA(q,RANDBETWEEN(1,27)))),5)=SEQUENCE(,27))*
  TAKE(UNIQUE(MAP(SEQUENCE(27),LAMBDA(q,INT(RAND()*100)))),5),SUM)

Это одно из решений:

=IF(SORTBY(SEQUENCE(,27),RANDARRAY(,27))>5,,RANDARRAY(1,27,1,49,1))

Это решение без повторяющихся значений:

=IF(SORTBY(SEQUENCE(,27),RANDARRAY(,27))>5,,TAKE(SORTBY(SEQUENCE(,49),RANDARRAY(,49)),,27))

Генерация случайных целых чисел

=LET(bottom,1,top,49,size,27,sample,5,replacement,0,
    c,top-bottom+1,
    SORTBY(EXPAND(TAKE(SORTBY(SEQUENCE(,c,bottom),
        RANDARRAY(,c)),,sample),,size,replacement),
        RANDARRAY(,size)))

Другие вопросы по теме

Похожие вопросы

Лента Excel: отключить все настраиваемые вкладки, если лист защищен
VBA Macro генерирует html-файлы с недопустимыми символами
Функция SCAN не отображает шаги, за которыми следует функция REDUCE при расчете
Активируйте несколько листов в файле Excel с помощью OpenPyxl
Получите СУММПРОИЗВ с несколькими критериями столбца и строки, если таблица содержит значения, которые не являются числовыми
Получите СУММПРОИЗВ с несколькими критериями столбца и строки и игнорируйте критерии, если ячейка с критериями пуста
Определить имя столбца/номер столбца сортировки в Excel
Найти значение на листе 1, скопировать значение смещения, найти значение смещения на листе 2, вставить текст в ячейку смещения
Заполнение ListBox. «Ошибка выполнения '380': не удалось установить свойство List. Недопустимое значение свойства»
Создает список, содержащий рабочие листы и формулы в них