ДомойСтатьиExcelКак генерировать случайные величины

Как генерировать случайные величины

Для генерирования случайных, вернее псевдослучайных, величин в Excel предусмотрены функции: СЛЧИСЛ (RAND) и СЛУЧМЕЖДУ (RANDBETWEEN). Первая будет возвращать равномерно распределенное случайное вещественное число в диапазоне от 0 до 1, а вторая будет возвращать случайное целое число, которое находится в указанных границах.

Смотрите также видеоверсию статьи «Как генерировать случайные величины».

Сегодня мы поговорим о не стандартном применении функции СЛУЧМЕЖДУ, однако, сначала простой пример работы данной функции.

Простой пример работы функции СЛУЧМЕЖДУ

Для создания 10 случайных чисел от 1 до 10, нужно ввести эти значения в аргументы функции:

=СЛУЧМЕЖДУ(1;10)
Простой пример генерирования случайных величин функцией СЛУЧМЕЖДУ
Простой пример генерирования случайных величин функцией СЛУЧМЕЖДУ

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

С помощью данной функции не обязательно генерировать только простые числа, можно создавать и случайные даты. Начальную и конечную даты можно ввести непосредственно в аргументы функции, используя функцию ДАТА (DATE):

=СЛУЧМЕЖДУ(ДАТА(2017;05;01);ДАТА(2017;05;31))

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

=СЛУЧМЕЖДУ($D$2;$D$3)
Функциея СЛУЧМЕЖДУ для генерирования дат
Функциея СЛУЧМЕЖДУ для генерирования дат

Из курса Excel нам известно, что дата – это, по сути, специальное представление числового типа данных, поэтому в  таком использовании нет ничего необычного, более того, для генерации случайной даты достаточно вычислить случайные значения в диапазоне от 42856 (это первое мая 2017 года) до 42886 (это 31 мая 2017 года), а уже потом к ячейке применить формат «Дата».

Функция СЛУЧМЕЖДУ генерирует даты на основе чисел
Функция СЛУЧМЕЖДУ генерирует даты на основе чисел

Если к формуле добавить функцию РАБДЕНЬ (WORKDAY),то можно генерировать даты только среди рабочих дней (по умолчанию исключаются суббота и воскресенье).

Пример генерирования дат только рабочих дней
Пример генерирования дат только рабочих дней

Генерация случайных текстовых значений

Наверное, самый интересный случай применения функции СЛУЧМЕЖДУ. На самом деле, здесь не генерация, а случайный выбор текстовых записей из массива.

Для реализации такой задумки понадобится набор из текстовых записей и функция ВЫБОР (CHOOSE). Данная функция выбирает указанную запись из массива записей, всего одновременно может быть до 254 записей.

Простой пример записи выбора дня недели:

=ВЫБОР(2;"понедельник"; "вторник"; "среда"; "четверг"; "пятница"; "суббота"; "воскресенье")

поскольку введено число 2, то будет выбран вторник, а вот для случайного выбора дня недели, функцию следует совместить с рассматриваемой СЛУЧМЕЖДУ:

=ВЫБОР(СЛУЧМЕЖДУ(1;7);"понедельник"; "вторник"; "среда"; "четверг"; "пятница"; "суббота"; "воскресенье")

лучше, конечно, занести текстовую информацию в ячейки и сделать ссылки уже на сами ячейки.

В завершение остается добавить, что, по умолчанию, функция СЛУЧМЕЖДУ пересчитывается каждый раз, когда вы делаете определенные операции с листом, например, вводите новые данные. Самым простым способом зафиксировать рассчитанные данные – это воспользоваться специальной вставкой (опция «Вставить только значения»).

Произвольный выбор текстовых значений с помощью функций ВЫБОР и СЛУЧМЕЖДУ
Произвольный выбор текстовых значений с помощью функций ВЫБОР и СЛУЧМЕЖДУ

Другие способы зафиксировать рассчитанные значения описаны здесь.

- Advertisment -

Встречаем новый Excel, Microsoft представила динамические массивы (Dynamic Array Functions)

24 сентября 2018 года Microsoft представила одно из самых существенных изменений в Excel за последнее десятилетие - Dynamic Array...

Горизонтальная сортировка в Excel

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

Автонумерация внутри составной записи в Excel

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

Еще записей в тему?
Если честно, некоторые могут быть не свежие:)