Книга: Магия таблиц. 100+ приемов ускорения работы в Excel (и немного в Google Таблицах)
Назад: Функции для поиска и извлечения значений
Дальше: Динамические массивы

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

В Excel и в Google Таблицах есть функции для генерации случайных чисел: СЛЧИС / RAND и СЛУЧМЕЖДУ / RANDBETWEEN (последняя появилась в Excel 2007).
СЛУЧМЕЖДУ генерирует целые числа — концы интервала задаются в двух аргументах функции. В следующем примере генерируем числа от 1000 до 6000.

 

 

СЛЧИС генерирует случайное число от 0 до 1. Аргументов у нее нет — это всегда число в этом диапазоне. В следующем примере к ним применен процентный формат.

 

 

Генерация дат и времени
Если мы вспомним, что дата в Excel — это целое число, то поймем, что можно сгенерировать и случайную дату.

 

 

Ну а раз время — это та часть (доля) дня, что уже прошла, то есть число от нуля до единицы, то случайное время можно генерировать с помощью СЛЧИС.

 

 

В обоих случаях нужно поменять формат ячеек, чтобы результаты генерации (числа) выглядели как дата и время.
Выбор случайного значения из списка
Файл с примером: Жеребьевка (ИНДЕКС + СЛУЧМЕЖДУ).xlsx
А что, если вы хотите выбрать случайное значение из списка? Выбрать победителя розыгрыша или провести жеребьевку команд?
Вспоминаем, что есть функция ИНДЕКС / INDEX, которая возвращает значение из массива по номеру строки (или номерам строки и столбца, если массив двумерный).
Если этот самый номер сделать случайным (то есть вычислять с помощью функции СЛУЧМЕЖДУ), то это и будет выбором случайного элемента из списка.

 

 

В Excel 2021 и Microsoft 365 также появилась функция СЛУЧМАССИВ / RANDARRAY, она позволяет генерировать сразу целый массив.
Обратите внимание, что эти функции входят в число так называемых волатильных. Это значит, что их результат пересчитывается при каждом изменении в книге (если в параметрах Excel не отключен автоматический пересчет). Чтобы случайные значения не менялись, нужно сохранить формулы как значения.
Какие еще функции в Excel являются волатильными:
ТДАТА / NOW;
СЕГОДНЯ / TODAY;
ДВССЫЛ / INDIRECT;
СМЕЩ / OFFSET.
Назад: Функции для поиска и извлечения значений
Дальше: Динамические массивы