У нас есть последовательность чисел, состоящая из практически независимых элементов, которые подчиняются заданному распределению. Как правило, равномерному распределению.
Сгенерировать случайные числа в Excel можно разными путями и способами. Рассмотрим только лучше из них.
Функция случайного числа в Excel
- Функция СЛЧИС возвращает случайное равномерно распределенное вещественное число. Оно будет меньше 1, больше или равно 0.
- Функция СЛУЧМЕЖДУ возвращает случайное целое число.
Рассмотрим их использование на примерах.
Выборка случайных чисел с помощью СЛЧИС
Данная функция аргументов не требует (СЛЧИС()).
Чтобы сгенерировать случайное вещественное число в диапазоне от 1 до 5, например, применяем следующую формулу: =СЛЧИС()*(5-1)+1.
Возвращаемое случайное число распределено равномерно на интервале [1,10].
При каждом вычислении листа или при изменении значения в любой ячейке листа возвращается новое случайное число. Если нужно сохранить сгенерированную совокупность, можно заменить формулу на ее значение.
- Щелкаем по ячейке со случайным числом.
- В строке формул выделяем формулу.
- Нажимаем F9. И ВВОД.
Проверим равномерность распределения случайных чисел из первой выборки с помощью гистограммы распределения.
- Сформируем «карманы». Диапазоны, в пределах которых будут находиться значения. Первый такой диапазон – 0-0,1. Для следующих – формула =C2+$C$2.
- Определим частоту для случайных чисел в каждом диапазоне. Используем формулу массива {=ЧАСТОТА(A2:A201;C2:C11)}.
- Сформируем диапазоны с помощью знака «сцепления» (=»[0,0-«&C2&»]»).
- Строим гистограмму распределения 200 значений, полученных с помощью функции СЛЧИС ().
Диапазон вертикальных значений – частота. Горизонтальных – «карманы».
Функция СЛУЧМЕЖДУ
Синтаксис функции СЛУЧМЕЖДУ – (нижняя граница; верхняя граница). Первый аргумент должен быть меньше второго. В противном случае функция выдаст ошибку. Предполагается, что границы – целые числа. Дробную часть формула отбрасывает.
Пример использования функции:
Случайные числа с точностью 0,1 и 0,01:
Как сделать генератор случайных чисел в Excel
Сделаем генератор случайных чисел с генерацией значения из определенного диапазона. Используем формулу вида: =ИНДЕКС(A1:A10;ЦЕЛОЕ(СЛЧИС()*10)+1).
Сделаем генератор случайных чисел в диапазоне от 0 до 100 с шагом 10.
Из списка текстовых значений нужно выбрать 2 случайных. С помощью функции СЛЧИС сопоставим текстовые значения в диапазоне А1:А7 со случайными числами.
Воспользуемся функцией ИНДЕКС для выбора двух случайных текстовых значений из исходного списка.
Чтобы выбрать одно случайное значение из списка, применим такую формулу: =ИНДЕКС(A1:A7;СЛУЧМЕЖДУ(1;СЧЁТЗ(A1:A7))).
Генератор случайных чисел нормального распределения
Функции СЛЧИС и СЛУЧМЕЖДУ выдают случайные числа с единым распределением. Любое значение с одинаковой долей вероятности может попасть в нижнюю границу запрашиваемого диапазона и в верхнюю. Получается огромный разброс от целевого значения.
Нормальное распределение подразумевает близкое положение большей части сгенерированных чисел к целевому. Подкорректируем формулу СЛУЧМЕЖДУ и создадим массив данных с нормальным распределением.
Себестоимость товара Х – 100 рублей. Вся произведенная партия подчиняется нормальному распределению. Случайная переменная тоже подчиняется нормальному распределению вероятностей.
При таких условиях среднее значение диапазона – 100 рублей. Сгенерируем массив и построим график с нормальным распределением при стандартном отклонении 1,5 рубля.
Используем функцию: =НОРМОБР(СЛЧИС();100;1,5).
Программа Excel посчитала, какие значения находятся в диапазоне вероятностей. Так как вероятность производства товара с себестоимостью 100 рублей максимальная, формула показывает значения близкие к 100 чаще, чем остальные.
Перейдем к построению графика. Сначала нужно составить таблицу с категориями. Для этого разобьем массив на периоды:
- Определим минимальное и максимальное значение в диапазоне с помощью функций МИН и МАКС.
- Укажем величину каждого периода либо шаг. В нашем примере – 1.
- Количество категорий – 10.
- Нижняя граница таблицы с категориями – округленное вниз ближайшее кратное число. В ячейку Н1 вводим формулу =ОКРВНИЗ(E1;E5).
- В ячейке Н2 и последующих формула будет выглядеть следующим образом: =ЕСЛИ(G2;H1+$E$5;»»). То есть каждое последующее значение будет увеличено на величину шага.
- Посчитаем количество переменных в заданном промежутке. Используем функцию ЧАСТОТА. Формула будет выглядеть так:
На основе полученных данных сможем сформировать диаграмму с нормальным распределением. Ось значений – число переменных в промежутке, ось категорий – периоды.
График с нормальным распределением готов. Как и должно быть, по форме он напоминает колокол.
Сделать то же самое можно гораздо проще. С помощью пакета «Анализ данных». Выбираем «Генерацию случайных чисел».
О том как подключить стандартную настройку «Анализ данных» читайте здесь.
Заполняем параметры для генерации. Распределение – «нормальное».
Жмем ОК. Получаем набор случайных чисел. Снова вызываем инструмент «Анализ данных». Выбираем «Гистограмма». Настраиваем параметры. Обязательно ставим галочку «Вывод графика».
Получаем результат:
Скачать генератор случайных чисел в Excel
График с нормальным распределением в Excel построен.
Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel для Интернета Excel 2021 Excel 2021 для Mac Excel 2019 Excel 2019 для Mac Excel 2016 Excel 2016 для Mac Excel 2013 Excel 2010 Excel 2007 Excel для Mac 2011 Excel Starter 2010 Еще…Меньше
В этой статье описаны синтаксис формулы и использование функции СЛЧИС в Microsoft Excel.
Описание
Функция СЛЧИС возвращает равномерно распределенное случайное вещественное число, большее или равное 0, но меньшее 1. При каждом пересчете листа возвращается новое случайное вещественное число.
Примечание: начиная с версии Excel 2010, в Excel для генерации случайных чисел используется алгоритм «вихрь Мерсенна» (MT19937).
Синтаксис
СЛЧИС()
У функции СЛЧИС нет аргументов.
Замечания
-
Чтобы получить случайное вещественное число в диапазоне между a и b, можно использовать следующую формулу:
=СЛЧИС()*(b–a)+a
-
Если требуется применить функцию СЛЧИС для генерации случайного числа, но изменение этого числа при каждом вычислении значения ячейки нежелательно, вы можете ввести в строке формулы =СЛЧИС(), а затем нажать клавишу F9, чтобы заменить формулу случайным числом. Формула вычисляется и оставляет только значение.
Пример
Скопируйте образец данных из приведенной ниже таблицы и вставьте их в ячейку A1 на новом листе Excel. Чтобы отобразить результаты формул, выделите их и нажмите клавишу F2, а затем — ВВОД. При необходимости вы можете настроить ширину столбцов, чтобы увидеть все данные.
Формула |
Описание |
Результат |
---|---|---|
=СЛЧИС() |
Случайное число, большее или равное 0, но меньшее 1 |
меняется |
=СЛЧИС()*100 |
Случайное число, большее или равное 0 и меньшее 100 |
меняется |
=ЦЕЛОЕ(СЛЧИС()*100) |
Случайное целое число, большее или равное 0 и меньшее 100 |
меняется |
Примечание. При пересчете листа после ввода формулы или данных в другую ячейку или при выполнении пересчета вручную (по нажатию клавиши F9) каждая формула, в которой используется функция СЛЧИС, создает новое случайное число. |
Дополнительные сведения
Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.
См. также
Алгоритм Mersenne Twister
Функция СЛУЧМЕЖДУ
Нужна дополнительная помощь?
Ф
ункция
СЛУЧМЕЖДУ(
)
, английский вариант RANDBETWEEN(),
возвращает случайное ЦЕЛОЕ число в заданном интервале.
Синтаксис функции
СЛУЧМЕЖДУ(
нижняя_граница;верхняя_граница
)
Нижн_граница
— наименьшее целое число, которое возвращает функция.
Верхн_граница
— наибольшее целое число, которое возвращает функция.
Если значение
нижняя_граница
больше значения
верхняя_граница
, функция вернет ошибку #ЧИСЛО! Предполагается, что границы диапазона – целые числа. Если введено число с дробной частью, то дробная часть будет отброшена.
Если необходимо получить случайное число, например, в интервале от 0 до 0,1, то нужно написать следующую формулу:
=СЛУЧМЕЖДУ(0;10)/100
(с точностью 0,01, т.е. случайные значения будут 0,02; 0,05 и т.д.)
=СЛУЧМЕЖДУ(0;1000)/10000
(с точностью 0,0001, т.е. случайные значения будут 0,0689; 0,0254 и т.д.)
Если необходимо получить не целое, а вещественное число, например, в интервале от 3 до 10, то нужно использовать функцию
СЛЧИС()
:
=СЛЧИС()*(10-3)+3
(точностью 15 знаков, т.е. случайные значения будут 7,68866700270417; 8,68428856478223 и т.д.)
Если требуется сгенерировать случайное число от -2,699 до 30,02, причем оно должно быть округлено до тысячных (количество знаков после запятой случайного числа = максимальному количеству знаков после запятой границ интервала), то сначала нужно определить количество знаков после запятой у обоих границ (см.
файл примера
). Это можно сделать с помощью формулы =
ДЛСТР(A15)-1-ДЛСТР(ЦЕЛОЕ(A15))
Затем воспользоваться функцией
СЛЧИС()
, округлив значение.
Примечание
. Границы интервала должны быть заданы константой. В случае расчетных значений интервалов результат непредсказуем (см.
Проблемы округления в MS EXCEL
). Совет: Если границы интервала рассчитываются формулами, что в них можно задать необходимую точность.
Функция пересчитывает свое значение после каждого ввода нового значения в любую ячейку листа (или изменения значения ячейки) или нажатии
клавиши
F9
.
Содержание
- Создаём генератор случайных чисел с помощью функции СЛЧИС
- Генерация случайной величины, распределенной по равномерному закону
- Способ применения функции «СЛУЧМЕЖДУ( ; )»:
- Способ применения функции «СЛЧИС()»:
- Функция случайного числа в Excel
- Выборка случайных чисел с помощью СЛЧИС
- Функция СЛУЧМЕЖДУ
- Выбор рандом чисел в заданном диапазоне
- Дробные числа больше единицы
- Как сделать генератор чисел в экселе. Генератор случайных чисел в Excel
- Случайное число в определенном диапазоне. Функция
- Случайное число с определенным шагом
- Как применять рандом для проверки модели?
- Использование надстройки Analysis ToolPack
- Произвольное дискретное распределение
- Генератор случайных чисел нормального распределения
- Как предотвратить повторное вычисление СЛЧИС и СЛУЧМЕЖДУ
Создаём генератор случайных чисел с помощью функции СЛЧИС
С помощью функции СЛЧИС, мы имеем возможность генерировать любое случайное число в диапазоне от 0 до 1 и эта функция будет выглядеть так:
=СЛЧИС();
Если возникает необходимость, а она, скорее всего, возникает, использовать случайное число большого значения, вы просто можете умножить вашу функцию на любое число, к примеру 100, и получите:
=СЛЧИС()*100; А вот если вам не нравятся дробные числа или просто нужно использовать целые числа, тогда используйте такую комбинацию функций, это позволит вам отсечь значения после запятой или просто отбросить их:
=ОКРУГЛ((СЛЧИС()*100);0);
=ОТБР((СЛЧИС()*100);0) Когда возникает необходимость использовать генератор случайных чисел в каком-то определённом, конкретном диапазоне, согласно нашим условиям, к примеру, от 1 до 6 надо использовать следующую конструкцию (обязательно закрепите ячейки с помощью абсолютных ссылок):
=СЛЧИС()*(b-а)+а, где,
- a – представляет нижнюю границу,
- b – верхний предел
и полная формула будет выглядеть: =СЛЧИС()*(6-1)+1, а без дробных частей вам нужно написать: =ОТБР(СЛЧИС()*(6-1)+1;0)
Генерация случайной величины, распределенной по равномерному закону
Дискретное равномерное распределение – это такое распределение, для которого вероятность каждого из значений случайной величины одна и та же, то есть
Р(ч)=1/N,
где N – количество возможных значений случайной величины
Для получения случайной величины, распределенной по равномерному закону, в библиотеке Мастера функций табличного процессора в категории Математические есть специальная функция СЛЧИС(), которая генерирует случайные вещественные числа в диапазоне 0 -1. Функция не имеет параметров
Если необходимо сгенерировать случайные числа в другом диапазоне, то для этого нужно использовать формулу:
= СЛЧИС() * (b – a) +a, где
a – число, устанавливающее нижнюю границу диапазона;
b – число, устанавливающее верхнюю границу диапазона.
Например, для генерации чисел распределенных по равномерному закону в диапазоне 10 – 20, нужно в ячейку рабочего листа ввести формулу:
=СЛЧИС()*(20-10)+10.
Для генерации целых случайных чисел, равномерно распределенных в диапазоне между двумя заданными числами в библиотеке табличного процессора есть специальная функция СЛУЧМЕЖДУ. Функция имеет параметры:
СЛУЧМЕЖДУ(Нижн_гран; Верхн_гран), где
Нижн_гран – число, устанавливающее нижнюю границу диапазона;
Верхн_гран – число, устанавливающее верхнюю границу диапазона. Применение функций СЛЧИС и СЛУЧМЕЖДУ рассмотрим на примере.
Пример 1. Требуется создать массив из 10 чисел, распределенных равномерно в диапазоне 50 – 100.
Решение
1. Выделим диапазон, включающий десять ячеек рабочего листа, например B2:B11 (рис. 1).
2. На ленте Формулы в группе Библиотека функций кликнем на пиктограмме Вставить функцию.
3. В открывшемся окне диалога Мастер функций выберем категорию Математические, в списке функций – СЛЧИС, кликнем на ОК – появится окно диалога Аргументы функции.
4. Нажмем комбинацию клавиш <Ctrl> + <Shift> + <Enter> – в выделенном диапазоне будут помещены числа, распределенные по равномерному закону в диапазоне 0 – 1 (рис. 1).
5. Щелкнем указателем мыши в строке формул и изменим имеющуюся там формулу, приведя ее к виду: =СЛЧИС()*(100-50)+50.
6. Нажмем комбинацию клавиш <Ctrl> + <Shift> + <Enter> – в выделенном диапазоне будут размещены числа, распределенные по равномерному закону в диапазоне 50 – 100 (рис. 2).
Способ применения функции «СЛУЧМЕЖДУ( ; )»:
- Установить курсор в ячейку, которой присваиваете значение;
- Выбрать функцию «СЛУЧМЕЖДУ( ; )»;
- В меню указать начальное и конечное число диапазона или ячейки, содержащие эти числа;
- Нажать «ОК»
Наряду с функцией «СЛУЧМЕЖДУ» существует «СЛЧИС()», эта функция в отличие от «СЛУЧМЕЖДУ» выбирает случайное число из диапазона от 0 до 1. То есть присваивает ячейке случайное дробное число до единицы.
Способ применения функции «СЛЧИС()»:
- Установить курсор в ячейку, которой присваиваете значение;
- Выбрать функцию «СЛЧИС()»;
- Нажать «ОК»
У нас есть последовательность чисел, состоящая из практически независимых элементов, которые подчиняются заданному распределению. Как правило, равномерному распределению.
Сгенерировать случайные числа в Excel можно разными путями и способами.
- Функция СЛЧИС возвращает случайное равномерно распределенное вещественное число. Оно будет меньше 1, больше или равно 0.
- Функция СЛУЧМЕЖДУ возвращает случайное целое число.
Выборка случайных чисел с помощью СЛЧИС
Данная функция аргументов не требует (СЛЧИС()).
Чтобы сгенерировать случайное вещественное число в диапазоне от 1 до 5, например, применяем следующую формулу: =СЛЧИС()*(5-1)+1.
Возвращаемое случайное число распределено равномерно на интервале .
При каждом вычислении листа или при изменении значения в любой ячейке листа возвращается новое случайное число. Если нужно сохранить сгенерированную совокупность, можно заменить формулу на ее значение.
- Щелкаем по ячейке со случайным числом.
- В строке формул выделяем формулу.
- Нажимаем F9. И ВВОД.
Проверим равномерность распределения случайных чисел из первой выборки с помощью гистограммы распределения.
- Сформируем «карманы». Диапазоны, в пределах которых будут находиться значения. Первый такой диапазон – 0-0,1. Для следующих – формула =C2+$C$2.
- Определим частоту для случайных чисел в каждом диапазоне. Используем формулу массива {=ЧАСТОТА(A2:A201;C2:C11)}.
- Сформируем диапазоны с помощью знака «сцепления» (=»»).
- Строим гистограмму распределения 200 значений, полученных с помощью функции СЛЧИС ().
Диапазон вертикальных значений – частота. Горизонтальных – «карманы».
Функция СЛУЧМЕЖДУ
Синтаксис функции СЛУЧМЕЖДУ – (нижняя граница; верхняя граница). Первый аргумент должен быть меньше второго. В противном случае функция выдаст ошибку. Предполагается, что границы – целые числа. Дробную часть формула отбрасывает.
Пример использования функции:
Случайные числа с точностью 0,1 и 0,01:
Выбор рандом чисел в заданном диапазоне
Вы можете получить случайное целое число в нужном диапазоне. Для этого используем функцию =СЛУЧМЕЖДУ(мин макс). Первым аргументом функции будет минимальное допустимое число, вторым – максимальное.
Например, так можно получить число в промежутке от -100 до 100:
Функции СЛЧИС и СЛУЧМЕЖДУ изменяют свой результат при каждом пересчёте листа. Если Вам нужно этого избежать – замените формулы на значения с помощью специальной вставки.
А теперь немного примеров использования приведенных функций.
Дробные числа больше единицы
Как вы уже поняли, функция СЛЧИС всегда возвращает дробное число от 0 до 1, а СЛУЧМЕЖДУ – целое в указанном диапазоне. А как выбрать число рандомно, дробное и больше единицы? К примеру, нам нужно случайное дробное число в пределах от 10 до 90. Поможет такая формула:
Как сделать генератор чисел в экселе. Генератор случайных чисел в Excel
В Excel есть функция нахождения случайных чисел =СЛЧИС(). Возможность же найти случайное число в Excel, важная составляющая планирования или анализа, т.к. вы можете спрогнозировать результаты вашей модели на большом количестве данных или просто найти одно рандомное число для проверки своей формулы или опыта.
Чаще всего эта функция применяется для получения большого количества случайных чисел. Т.е. 2-3 числа всегда можно придумать самому, для большого количества проще всего применить функцию.
В большинстве языков программирования подобная функция известная как Random (от англ. случайный), поэтому часто можно встретить обрусевшее выражение «в рандомном порядке» и т.п.
В английском Excel функция СЛЧИС числится как RAND
Начнем с описания функции =СЛЧИС(). Для этой функции не нужны аргументы.
А работает она следующим образом — выводит случайное число от 0 до 1. Число будет вещественное, т.е. по большому счету любое, как правило это десятичные дроби, например 0,0006.
При каждом сохранении число будет меняться, чтобы обновить число без обновления нажмите F9.
Случайное число в определенном диапазоне. Функция
Что делать если вам не подходит имеющийся диапазон случайных чисел, и нужно набор случайных чисел от 20 до 135. Как это можно сделать?
Нужно записать следующую формулу.
СЛЧИС()*115+20
Т.е. к 20 будет случайным образом прибавляться число от 0 до 115, что позволит получать каждый раз число в нужном диапазоне (см. первую картинку).
- Кстати, если вам необходимо найти целое число в таком же диапазоне, для этого существует специальная функция, где мы указываем верхнюю и нижнюю границу значений
- СЛУЧМЕЖДУ(20;135)
- Просто, но очень удобно!
- Если нужно множество ячеек случайных чисел просто протяните ячейку ниже.
Случайное число с определенным шагом
Если нам нужно получить рандомное число с шагом, к примеру пять, то мы воспользуемся одной из . Это будет ОКРВВЕРХ()
ОКРВВЕРХ(СЛЧИС()*50;5)
Где мы находим случайное число от 0 до 50, а затем округляем его до ближайшего сверху значения кратного 5. Удобно, когда вы делаете расчет для комплектов по 5 штук.
Как применять рандом для проверки модели?
Проверить придуманную модель можно при помощи большого количества случайных чисел. Например проверить будет ли прибыльным бизнес-план
Использование надстройки Analysis ToolPack
Другой способ получения случайных чисел в листе состоит в использовании надстройки Analysis ToolPack (которая поставлялась вместе с Excel). Этот инструмент может генерировать неравномерные случайные числа. Они генерируются не формулами, поэтому, если вам нужен новый набор случайных чисел, необходимо перезапустить процедуру.
Получите доступ к пакету Analysis ToolPack, выбрав Данные Анализ Анализ данных.
Если эта команда отсутствует, установите пакет Analysis ToolPack с помощью диалогового окна Надстройки . Самый простой способ вызвать его — нажать Atl+TI.
В диалоговом окне Анализ данныхвыберите Генерация случайных чисели нажмите ОК. Появится окно, показанное на рис. 130.1.
Выберите тип распределения в раскрывающемся списке Распределение, а затем задайте дополнительные параметры (они изменяются в зависимости от распределения). Не забудьте указать параметр Выходной интервал, в котором хранятся случайные числа.
Чтобы выбрать из таблицы случайные данные, нужно воспользоваться функцией в Excel «Случайные числа». Это готовый генератор случайных чисел в Excel.
Эта функция пригодится при проведении выборочной проверки или при проведении лотереи, т.д. Итак, нам нужно провести розыгрыш призов для покупателей.
В столбце А стоит любая информация о покупателях – имя, или фамилия, или номер, т.д. В столбце в устанавливаем функцию случайных чисел. Выделяем ячейку В1. На закладке «Формулы» в разделе «Библиотека функций» нажимаем на кнопку «Математические» и выбираем из списка функцию «СЛЧИС». Заполнять в появившемся окне ничего не нужно. Просто нажимаем на кнопку «ОК».
Копируем формулу по столбцу. Получилось так.
Эта формула ставит случайные числа меньше нуля. Чтобы случайные числа были больше нуля, нужно написать такую формулу. =СЛЧИС()*100
При нажатии клавиши F9, происходит смена случайных чисел. Можно выбирать каждый раз из списка первого покупателя, но менять случайные числа клавишей F9.
Случайное число из диапазона Excel.
Чтобы получить случайные числа в определенном диапазоне, установим функцию «СЛУЧМЕЖДУ» в математических формулах. Установим формулы в столбце С. Диалоговое окно заполнили так.Укажем самое маленькое и самое большое число. Получилось так.Укажем самое маленькое и самое большое число. Получилось так. Можно формулами выбрать из списка со случайными числами имена, фамилии покупателей.
Внимание!
В таблице случайные числа располагаем в первом столбце. У нас такая таблица.
В ячейке F1 пишем такую формулу, которая перенесет наименьшие случайные числа.
=НАИМЕНЬШИЙ($A$1:$A$6;E1)
Копируем формулу на ячейки F2 и F3 – мы выбираем трех призеров.
В ячейке G1 пишем такую формулу. Она выберет имена призеров по случайным числам из столбца F. =ВПР(F1;$A$1:$B$6;2;0)
Получилась такая таблица победителей.
В ячейке F1 пишем такую формулу, которая перенесет наименьшие случайные числа.
=НАИМЕНЬШИЙ($A$1:$A$6;E1)
Копируем формулу на ячейки F2 и F3 – мы выбираем трех призеров.
В ячейке G1 пишем такую формулу. Она выберет имена призеров по случайным числам из столбца F. =ВПР(F1;$A$1:$B$6;2;0)
Получилась такая таблица победителей.
Если нужно выбрать призеров по нескольким номинациям, то нажимаем на клавишу F9 и произойдет не только замена случайных чисел, но и связанных с ними имен победителей.
Как отключить обновление случайных чисел в Excel.
Чтобы случайное число не менялось в ячейке, нужно написать формулу вручную и нажать клавишу F9 вместо клавиши «Enter», чтобы формула заменилась на значение.
В Excel есть несколько способов, как копировать формулы, чтобы ссылки в них не менялись. Смотрите описание простых способов такого копирования в статье »
Доброго времени суток, уважаемый, читатель!
Недавно, возникла необходимость создать своеобразный генератор случайных чисел в Excel в границах нужной задачи, а она была простая, с учётом количества человек выбрать случайного пользователя, всё очень просто и даже банально. Но меня заинтересовало, а что же ещё можно делать с помощью такого генератора, какие они бывают, каковые их функции для этого используются и в каком виде. Вопросом много, так что постепенно буду и отвечать на них.
Итак, для чего же собственно мы можем использовать этом механизм:
- во-первых: мы можем для тестировки формул, заполнить нужный нам диапазон случайными числами;
- во-вторых: для формирования вопросов различных тестов;
- в-третьих: для любого случайно распределения заранее задач между вашими сотрудниками;
- в-четвёртых: для симуляции разнообразнейших процессов.
Произвольное дискретное распределение
С помощью надстройки Пакет Анализа можно сгенерировать числа, имеющие произвольное дискретное распределение , т.е. распределение, где пользователь сам задает значения случайной величины и соответствующие вероятности.
В поле Входной интервал значений и вероятностей необходимо ввести ссылку на двухстолбцовый диапазон (см. файл примера ).
Необходимо следить, чтобы сумма вероятностей модельного распределения была равна 1. Для этого в MS EXCEL имеется специальная функция ВЕРОЯТНОСТЬ() .
СОВЕТ : О генерации чисел, имеющих произвольное дискретное распределение , см. статью Генерация дискретного случайного числа с произвольной функцией распределения в MS EXCEL . В этой статье также рассмотрена функция ВЕРОЯТНОСТЬ() .
Генератор случайных чисел нормального распределения
Функции СЛЧИС и СЛУЧМЕЖДУ выдают случайные числа с единым распределением. Любое значение с одинаковой долей вероятности может попасть в нижнюю границу запрашиваемого диапазона и в верхнюю. Получается огромный разброс от целевого значения.
Нормальное распределение подразумевает близкое положение большей части сгенерированных чисел к целевому. Подкорректируем формулу СЛУЧМЕЖДУ и создадим массив данных с нормальным распределением.
Себестоимость товара Х – 100 рублей. Вся произведенная партия подчиняется нормальному распределению. Случайная переменная тоже подчиняется нормальному распределению вероятностей.
При таких условиях среднее значение диапазона – 100 рублей. Сгенерируем массив и построим график с нормальным распределением при стандартном отклонении 1,5 рубля.
Используем функцию: =НОРМОБР(СЛЧИС();100;1,5).
Программа Excel посчитала, какие значения находятся в диапазоне вероятностей. Так как вероятность производства товара с себестоимостью 100 рублей максимальная, формула показывает значения близкие к 100 чаще, чем остальные.
Перейдем к построению графика. Сначала нужно составить таблицу с категориями. Для этого разобьем массив на периоды:
- Определим минимальное и максимальное значение в диапазоне с помощью функций МИН и МАКС.
- Укажем величину каждого периода либо шаг. В нашем примере – 1.
- Количество категорий – 10.
- Нижняя граница таблицы с категориями – округленное вниз ближайшее кратное число. В ячейку Н1 вводим формулу =ОКРВНИЗ(E1;E5).
- В ячейке Н2 и последующих формула будет выглядеть следующим образом: =ЕСЛИ(G2;H1+$E$5;””). То есть каждое последующее значение будет увеличено на величину шага.
- Посчитаем количество переменных в заданном промежутке. Используем функцию ЧАСТОТА. Формула будет выглядеть так:
На основе полученных данных сможем сформировать диаграмму с нормальным распределением. Ось значений – число переменных в промежутке, ось категорий – периоды.
График с нормальным распределением готов. Как и должно быть, по форме он напоминает колокол.
Сделать то же самое можно гораздо проще. С помощью пакета «Анализ данных». Выбираем «Генерацию случайных чисел».
О том как подключить стандартную настройку «Анализ данных» читайте здесь.
Заполняем параметры для генерации. Распределение – «нормальное».
Жмем ОК. Получаем набор случайных чисел. Снова вызываем инструмент «Анализ данных». Выбираем «Гистограмма». Настраиваем параметры. Обязательно ставим галочку «Вывод графика».
Получаем результат:
Скачать генератор случайных чисел в Excel
График с нормальным распределением в Excel построен.
Как предотвратить повторное вычисление СЛЧИС и СЛУЧМЕЖДУ
Если вы хотите получить постоянный набор случайных чисел, дат или текстовых строк, которые не будут меняться каждый раз, то есть зафиксировать случайные числа, когда лист пересчитывается, используйте один из следующих способов:
- Чтобы остановить функции СЛЧИС или СЛУЧМЕЖДУ от пересчета в одной ячейке, выберите эту ячейку, переключитесь на панель формул и нажмите F9, чтобы заменить формулу на ее значение.
- Чтобы предотвратить функцию случайных чисел в Excel от автоматического обновления значений в нескольких ячейках, используйте функцию Вставить. Выберите все ячейки с формулой генерации случайных значений, нажмите Ctrl+C, чтобы скопировать их, затем щелкните правой кнопкой мыши выбранный диапазон и нажмите «Вставить специальные»–> «Значения».
Источники
- https://topexcel.ru/sozdaem-generator-sluchajnyx-chisel-v-excel/
- https://zen.yandex.ru/media/id/5d4d8e658da1ce00ad5ece61/5dbadd11e6e8ef00ad7c0e34
- http://word-office.ru/kak-sdelat-random-v-excel.html
- https://officelegko.com/2019/09/09/randomizator-chisel-v-excel/
- https://iiorao.ru/prochee/kak-sdelat-random-v-excel.html
- https://excel2.ru/articles/generaciya-sluchaynyh-chisel-v-ms-excel
- https://exceltable.com/funkcii-excel/generator-sluchaynyh-chisel
- https://naprimerax.org/posts/63/generator-sluchainykh-chisel-v-excel
Случайные числа без повторов
Постановка задачи
Предположим, что нам необходимо создать набор целых случайных чисел без повторов в заданном интервале значений. Примеры с ходу:
- генерация уникальных случайных кодов для товаров или пользователей
- назначение людей на задачи (каждому по случайной из списка)
- перестановки слов в поисковом запросе (привет seo-шникам)
- игра в лото и т.д.
Способ 1. Простой
Для начала рассмотрим простой вариант: нам необходимо получить случайный набор из 10 целых чисел от 1 до 10. Использование встроенной в Excel функции СЛУЧМЕЖДУ (RANDBETWEEN) уникальности не гарантирует. Если ввести ее в ячейку листа и скопировать вниз на 10 ячеек, то запросто могут случиться повторы:
Поэтому мы пойдем другим путем.
Во всех версиях Excel есть функция РАНГ (RANG), предназначенная для ранжирования или, другими словами, определения топовой позиции числа в наборе. Для самого большого числа в списке ранг=1, второе в топе имеет ранг=2 и т.д.
Введем в ячейку А2 функцию СЛЧИС (RAND) без аргументов и скопируем формулу вниз на 10 ячеек. Эта функция сгенерирует нам набор из 10 случайных дробных чисел от 0 до 1:
В соседний столбец введем функцию РАНГ, чтобы определить позицию в рейтинге для каждого полученного случайного числа:
Получим в столбце В то, что хотели — любое нужное количество неповторяющихся случайных целых чисел от 1 до 10.
Чисто теоретически, может возникнуть ситуация, когда СЛЧИС выдаст нам два одинаковых случайных числа в столбце А, их ранги совпадут и мы получим повтор в столбце В. Однако, вероятность такого сценария крайне мала, учитывая тот факт, что точность составляет 15 знаков после запятой.
Способ 2. Сложный
Этот способ чуть сложнее, но использует всего одну формулу массива. Допустим, нам нужно создать на листе список из 9 неповторяющихся случайных целых чисел в интервале от 1 до 50.
Введите в ячейку А2 следующую формулу, нажмите в конце Ctrl+Shift+Enter (чтобы ввести ее как формулу массива!) и скопируйте формулу вниз на требуемое количество ячеек:
Способ 3. Макрос
Ну и, конечно, можно решить задачу с помощью программирования на Visual Basic. В одной из старых статей про случайную выборку я уже приводил макро-функцию массива Lotto, которая выдает требуемое количество случайных неповторяющихся чисел из заданного интервала.
Ссылки по теме
- Как подсчитать количество уникальных значений в диапазоне
- Случайная выборка элементов из списка