Генерация случайных чисел в Google Таблицах

Функции для генерации случайных чисел

В Google Таблицах есть две функции для генерации случайных чисел.

Это СЛЧИС / RAND и СЛУЧМЕЖДУ / RANDBETWEEN.

Первая генерирует случайное число от 0 до 1, а вторая - целые числа в заданном диапазоне.
Соответственно, у СЛЧИС() аргументов нет - она всегда возвращает число от 0 до 1.

У СЛУЧМЕЖДУ два аргумента - границы, в которых нужно сгенерировать число.

Например, эта функция будет возвращать число от 3 до 27:

=СЛУЧМЕЖДУ(3;27)

Эти функции могут пригодиться для моделирования какой-нибудь ситуации, когда реальных данных. Например, я использовал их при создании некоторых примеров для нашего курса. А также можно использовать их для жеребьевки, например - такой пример рассмотрим чуть ниже.

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

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

Если вспомнить, что дата и время в Google Таблицах - это числа, то мы поймем, что можем без труда генерировать случайные даты и время.

Напомню, дата - это целое число.

Чтобы конвертировать дату из привычного нам формата в числовой, можно использовать функцию ДАТАЗНАЧ / DATEVALUE.

Так, следующая функция будет возвращать случайные даты в промежутке между 01.01.2018 и 01.01.2019:

=СЛУЧМЕЖДУ(ДАТАЗНАЧ("01.01.2018");ДАТАЗНАЧ("01.01.2019"))

Ну а чтобы сгенерировать случайное время - достаточно воспользоваться СЛЧИС. Ведь она генерирует число от 0 до 1, а время для Google Таблиц и есть число от 0 до 1 (напомню, полдень, например = 0,5).

Соответственно, если хочется сгенерировать случайную дату и случайное время, нужно сложить две функции:

=СЛУЧМЕЖДУ(ДАТАЗНАЧ("01.01.2018");ДАТАЗНАЧ("01.01.2019")) + СЛЧИС()

Генерация случайных комбинаций с помощью ИНДЕКС и СЛУЧМЕЖДУ

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

Задача состоит из двух этапов:

Выбрать случайные числа от 1 до N, где N - количество команд в лиге (функция СЛУЧМЕЖДУ);

Вернуть названия команд, соответствующие этим номерам, из списка (функция ИНДЕКС, которая, как мы помним, возвращает элемент из массива по его номеру).

Формула для одного из клубов будет выглядеть следующим образом:

=ИНДЕКС(список_клубов; СЛУЧМЕЖДУ(1;N))

Можно сформировать названия клубов в отдельных ячейках, как в примере, можно сразу сформировать пару с помощью текстовых функций:

=ИНДЕКС(список_клубов1; СЛУЧМЕЖДУ(1;N))&" : "&ИНДЕКС(список_клубов2; СЛУЧМЕЖДУ(1;M))

Формула, выбирающая случайный клуб из списка в B4:B23

Таким же образом можно генерировать и другие случайные сочетания - от ФИО из набора имен и фамилий до случайных телефонов или электронных адресов

Рубрики:
Комментарии
Темы, на которые я пишу: