RANDARRAY с уникальными значениями

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

=INDEX(A2:A120,UNIQUE(RANDARRAY(1,F1,1,ROWS(A2:A100),TRUE),TRUE))

на данный момент у меня есть рабочая формула, которая предоставляет случайные уникальные значения, однако иногда не все ячейки в диапазоне заполняются (из-за удаленных дубликатов). Я видел решения, которые используют последовательность для решения этой проблемы, но для меня это не работает, так как Calc удаляется! ошибка.

=INDEX(A2:A120,UNIQUE(RANDARRAY(1,F1,1,ROWS(A2:A100),TRUE),TRUE), SEQUENCE(0,2))

Значит, список слов содержит уникальные значения? Сколько там слов, сколько вы хотите вернуть?

P.b 20.05.2024 13:14

допустим, у меня есть список из 100 слов, в котором уже есть уникальные значения. Я хотел бы поместить 20 из них в диапазон строк. случайным образом и с уникальными значениями, чтобы массив rand не выбирал ни одно из них несколько раз. Моя формула почти заполняет строку тем, что я хочу, но когда она выбирает какую-то ячейку из списка несколько раз, уникальная формула удалит ее, и в строке будет меньше 20 значений.

Tamas Kosa 20.05.2024 13:34

Я использовал эту ссылку для создания формулы: ablebits.com/office-addins-blog/… и есть один раздел, посвященный использованию последовательности для получения уникального и точного количества случайных ячеек. он работает с числами в столбце, мне бы хотелось что-то похожее на текст и в 1 строку.

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

Ответы 4

Если я правильно понял вашу задачу, вы хотите сгенерировать массив неповторяющихся случайных чисел в определенном диапазоне, так ли это?

=INDEX(SORTBY(SEQUENCE(C2 - B2 + 1, 1, B2, 1), RANDARRAY(C2 - B2 + 1)), SEQUENCE(A2, 1, 1, 1))

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

Tamas Kosa 20.05.2024 09:36

Просто используйте XLOOKUP, используя этот массив, чтобы найти список ваших слов.

Michal 20.05.2024 09:38

Я не уверен, как я могу это сделать

Tamas Kosa 20.05.2024 11:42

Формула в C1:

=TOROW(UNIQUE(SORTBY(A1:A10,RANDARRAY(ROWS(A1:A10)))))

Я отредактировал вопрос, так как недостаточно хорошо объяснил.

Tamas Kosa 20.05.2024 14:29

@TamasKosa, я все еще думаю, что тебе нужно объяснить мне это немного лучше. Что не так с этим решением?

JvdV 20.05.2024 14:58

В моем случае в списке нет дубликатов (столбец a1). Моя проблема заключалась в том, что randarray мог случайным образом выбирать одни и те же значения из списка, и я пытался решить эту проблему, чтобы использовать уникальные, но иногда это число заполняло меньше значений. в мой диапазон.

Tamas Kosa 20.05.2024 15:21

Верно, так еще раз; что не так с ответом? @TamasKosa, кроме того, UNIQUE() нам больше не нужен

JvdV 20.05.2024 16:38

он принимает все значения, а не только определенное их количество, см. вопрос. В моей ячейке F1 — диапазон строк.

Tamas Kosa 21.05.2024 07:50

В общем =TAKE(TOROW(SORTBY(A1:A10,RANDARRAY(ROWS(A1:A10)))),,F1) @TamasKosa

JvdV 21.05.2024 18:27
Ответ принят как подходящий

В этом примере формула принимает 10 случайных значений из 15 значений существующего уникального списка.

=TOROW(INDEX(A2:A16,TAKE(SORTBY(SEQUENCE(ROWS(A2:A16)),RANDARRAY(ROWS(A2:A16))),F1)))

Результат:

Другой вариант: =TOROW(TAKE(SORTBY(A1:A100,RANDARRAY(100)),20))

Или более динамично:

=LET(range, A1:A100,
     size,  20,
TOROW(TAKE(SORTBY(range,RANDARRAY(ROWS(range))),size)))

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

Перенос данных из горизонтальной таблицы в вертикальный календарь на основе критериев
Поможет ли мне транспонирование в этой проблеме? Или есть другая функция
Excel: количество дней, в течение которых имя появляется без учета нескольких вхождений в один и тот же день
(Excel Mac) COUNTIF ID# — это число, которое указывается только один раз за дату
Использование списка (диапазона) критериев строк и столбцов (а не отдельных ячеек) в формуле СУММПРОИЗВ
Оператор Excel IF для сравнения двух процентных значений и получения третьего
Размещение случайно сгенерированных чисел в случайные позиции в диапазоне строк
Функция SCAN не отображает шаги, за которыми следует функция REDUCE при расчете
Получите СУММПРОИЗВ с несколькими критериями столбца и строки, если таблица содержит значения, которые не являются числовыми
Получите СУММПРОИЗВ с несколькими критериями столбца и строки и игнорируйте критерии, если ячейка с критериями пуста