Вы можете использовать формулы Excel для заполнения случайного числа или строки из списка. Вы даже можете создать логику для возврата чисел без каких-либо дубликатов. В этой статье мы собираемся показать вам, как выбрать случайный элемент из списка в Excel.
Хотя Excel не имеет встроенной функции для возврата случайного значения из списка, функции RAND и RANDBETWEEN могут возвращать случайно сгенерированное число.
В наших руководствах мы будем использовать обе функции. Имейте в виду, что сгенерированные значения будут обновляться при каждом вычислении. Таким образом, вы можете скопировать сгенерированные элементы и использовать «вставить как значение» (Вставить специальные> Значения).
Выберите случайный элемент из списка
Наш первый подход хорошо работает для выбора только одного случайного элемента из списка. Это утверждение важно, потому что этот подход может привести к дублированию записей, если он применяется более чем к одной ячейке. Следующий подход будет охватывать метод без повторяющихся значений.
Функция RANDBETWEEN возвращает целое число между заданными нижним и верхним пределами. Функция INDEX может возвращать целочисленное значение в виде номера строки (или столбца, если у вас есть горизонтальный список) для вертикального списка.
Допустим, у нас есть список в формате B3: B16. Наша формула должна быть либо,
=ИНДЕКС($B $ 3:$ B $ 16,RANDBETWEEN(1, СТРОКИ ($ B $ 3:$ B $ 16)))
или
=INDEX($B $ 3:$ B $ 16,RANDBETWEEN(1,COUNTA($ B $ 3:$ B $ 16)))
Функции ROWS и COUNTA определяют верхний предел случайно сгенерированных чисел. Если вы уверены в количестве элементов в списке, вы можете игнорировать эти функции. Например:
=ИНДЕКС($B$3:$ B $ 16, случайное соотношение (1,14))
С другой стороны, этот подход по существу устраняет динамическую структуру формулы.
Случайный элемент без дубликатов
Для выбора случайного элемента из списка без повторяющихся значений требуется немного более сложная структура, чем при первом подходе. Прежде всего, нам нужен вспомогательный столбец для использования с функцией RAND. Каждая ячейка в этом столбце вернет случайное число, которое поможет сортировать числа и последовательно выбирать из этого порядка. Итак, хитрость заключается в сортировке списка в случайном порядке, а затем выборе элементов из этого списка.
Вспомогательный столбец содержит только функцию RAND.
В другом столбце будут функции INDEX, аналогичные предыдущему подходу. Разница в том, что формулы ранжирования возвращают ранг значения в заданном массиве чисел:
- RANK.EQ
- RANK.AVG
- RANK (функция совместимости для версий, в которых отсутствует RANK.EQ)
Работает любой подход. В этом примере мы использовали RANK.EQ .
RANK.EQ может проверять ранг случайно сгенерированного числа в списке и возвращать номер строки для использования в функции INDEX, как в RANDBETWEEN.
=ИНДЕКС($ B $ 3:$ B $ 16,RANK.EQ($ C3,$ C $ 3:$ C $ 16),1)
Эта функция использует ранг случайно сгенерированного числа в ячейке C3. Используйте другие ячейки в вспомогательном столбце, чтобы выбрать несколько случайных элементов из списка.