Меню

Генератор случайных числе для эксель



Создаем генератор случайных чисел в Excel

Доброго времени суток, уважаемый, читатель!

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

Итак, для чего же собственно мы можем использовать этом механизм:

  • во-первых: мы можем для тестировки формул, заполнить нужный нам диапазон случайными числами;
  • во-вторых: для формирования вопросов различных тестов;
  • в-третьих: для любого случайно распределения заранее пронумерованных задач между вашими сотрудниками;
  • в-четвёртых: для симуляции разнообразнейших процессов;

…… да и во многих других ситуациях!

В этой статье я рассмотрю только 3 варианта создания генератора (возможности макроса, я не буду описывать), а именно:

Создаём генератор случайных чисел с помощью функции СЛЧИС

С помощью функции СЛЧИС, мы имеем возможность генерировать любое случайное число в диапазоне от 0 до 1 и эта функция будет выглядеть так:

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

=СЛЧИС()*100; А вот если вам не нравятся дробные числа или просто нужно использовать целые числа, тогда используйте такую комбинацию функций, это позволит вам отсечь значения после запятой или просто отбросить их:

=ОТБР((СЛЧИС()*100);0) Когда возникает необходимость использовать генератор случайных чисел в каком-то определённом, конкретном диапазоне, согласно нашим условиям, к примеру, от 1 до 6 надо использовать следующую конструкцию (обязательно закрепите ячейки с помощью абсолютных ссылок):

  • a – представляет нижнюю границу,
  • b – верхний предел

и полная формула будет выглядеть: =СЛЧИС()*(6-1)+1, а без дробных частей вам нужно написать: =ОТБР(СЛЧИС()*(6-1)+1;0)

Создаём генератор случайных чисел с помощью функции СЛУЧМЕЖДУ

Эта функция более проста и начала нас радовать в базовой комплектации Excel, после 2007 версии, что значительно облегчило работу с генератором, когда необходимо использовать диапазон. К примеру, для генерации случайного числа в диапазоне от 20 до 50 мы будем использовать конструкцию следующего вида:

Создаём генератор с помощью надстройки AnalysisToolPack

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

Для получения доступа к этой, бесспорно, полезной надстройки, нужно, для начала, с помощью диалогового окна «Надстройки» установить этот пакет. Если у вас он уже установлен, то дело за малым, выбираете пункт меню «Данные» – «Анализ» – «Анализ данных», выбираете «Генерация случайных чисел» в предложенном программой списке и жмём «ОК».

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

А на этом у меня всё! Я очень надеюсь, что вопрос по созданию генератора случайных чисел я раскрыл полностью и вам всё понятно. Буду очень благодарен за оставленные комментарии, так как это показатель читаемости и вдохновляет на написание новых статей! Делитесь с друзьями прочитанным и ставьте лайк!

Не забудьте поблагодарить автора!

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

Источник

Microsoft Excel

трюки • приёмы • решения

Как при помощи Excel создать генератор случайных чисел

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

Использование функции СЛЧИС

Представленная в Excel функция СЛЧИС генерирует равномерное случайное число в промежутке между 0 и 1. Другими словами, любое число от 0 до 1 имеет равную вероятность быть возвращенным этой функцией. Если вам нужны случайные числа с большими значениями, используйте простую формулу умножения. Следующая формула, например, генерирует равномерное случайное число между 0 и 1000:
=СЛЧИС()*1000 .

Чтобы ограничить случайное число целыми числами, используйте функцию ОКРУГЛ:
=ОКРУГЛ((СЛЧИС()*1000);0) .

Использование функции СЛУЧМЕЖДУ

Для генерации равномерных случайных чисел между любыми двумя числами вы можете использовать функцию СЛУЧМЕЖДУ. Следующая формула, например, генерирует случайное число между 100 и 200:
=СЛУЧМЕЖДУ(100;200) .

В версиях, предшествующих Excel 2007, функция СЛУЧМЕЖДУ доступна только при установке дополнительного пакета анализа. Для совместимости с предыдущими версиями (и чтобы избежать использования этой надстройки) используйте такую формулу, где а представляет нижний, a b — верхний предел: =СЛЧИС()*(b-а)+а . Чтобы сгенерировать случайное число между 40 и 50, используйте следующую формулу: =СЛЧИС()*(50-40)+40 .

Использование надстройки Analysis ToolPack

Другой способ получения случайных чисел в листе состоит в использовании надстройки Analysis ToolPack (которая поставлялась вместе с Excel). Этот инструмент может генерировать неравномерные случайные числа. Они генерируются не формулами, поэтому, если вам нужен новый набор случайных чисел, необходимо перезапустить процедуру.

Читайте также:  Самый надежный генератор для дома

Получите доступ к пакету Analysis ToolPack, выбрав Данные ► Анализ ► Анализ данных. Если эта команда отсутствует, установите пакет Analysis ToolPack с помощью диалогового окна Надстройки. Самый простой способ вызвать его — нажать Atl+TI. В диалоговом окне Анализ данных выберите Генерация случайных чисел и нажмите ОК. Появится окно, показанное на рис. 130.1.

Рис. 130.1. Диалоговое окно Генерация случайных чисел

Выберите тип распределения в раскрывающемся списке Распределение, а затем задайте дополнительные параметры (они изменяются в зависимости от распределения). Не забудьте указать параметр Выходной интервал, в котором хранятся случайные числа.

Источник

Случайные числа без повторов

Постановка задачи

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

  • генерация уникальных случайных кодов для товаров или пользователей
  • назначение людей на задачи (каждому по случайной из списка)
  • перестановки слов в поисковом запросе (привет 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, которая выдает требуемое количество случайных неповторяющихся чисел из заданного интервала.

Источник

Функция СЛУЧМЕЖДУ()

Функции

Excel содержит две функции, которые позволяют генерировать произвольные цифры –СЛЧИС и СЛУЧМЕЖДУ. Рассмотрим каждую из них более подробно.

Функция СЛЧИС не имеет аргументов, поэтому просто вписываете ее в строку формул и нажимаете Enter.

При помощи маркера автозаполнения можно применить формулу к нужному количеству ячеек.

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

Особенностью этой функции является то, что она работает в пределах от нуля включительно до единицы с нормальным распределением.

Чтобы сгенерировать цифры в заданном диапазоне, например от 3 до 8, необходимо дополнять формулу.

Чтобы сгенерировать случайное целое число, отлично подойдет функция СЛУЧМЕЖДУ. Где в качестве аргументов выступают два числа – верхняя и нижняя границы. При этом существует несколько особенностей:

  1. Первая часть формулы должна быть меньше второй.
  2. Границы должны быть целыми числами.
  3. Цифры после запятой отбрасываются.

Если умножить формулу на определенный коэффициент, то можно создать случайное дробное число с десятыми, сотыми, тысячными и так далее.

В качестве бонуса рассмотрим, как использовать excel для лотереи. Для начала нужно выгрузить базу данных участников в программу любым известным способом, а затем провести розыгрыш. Формула будет выглядеть следующим образом:

Специальный инструмент

Генератор случайных чисел можно найти в пакете анализа данных, который активируется через надстройки Excel. Чтобы воспользоваться этой функцией, необходимо нажать отдельную кнопку во вкладке Данные на Панели инструментов и из списка выбрать нужную строку.

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

В результате получилось следующее:

Этот метод намного проще, чем описанные выше способы. Однако он не позволяет накладывать дополнительные условия, поэтому генерация не всегда может удовлетворять требованиям пользователя.

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

Читайте также:  Метки ремня генератора ваз

Функция случайного числа в Excel

  1. Функция СЛЧИС возвращает случайное равномерно распределенное вещественное число. Оно будет меньше 1, больше или равно 0.
  2. Функция СЛУЧМЕЖДУ возвращает случайное целое число.

Выборка случайных чисел с помощью СЛЧИС

Данная функция аргументов не требует (СЛЧИС()).

Чтобы сгенерировать случайное вещественное число в диапазоне от 1 до 5, например, применяем следующую формулу: =СЛЧИС()*(5-1)+1.

Возвращаемое случайное число распределено равномерно на интервале [1,10].

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

  1. Щелкаем по ячейке со случайным числом.
  2. В строке формул выделяем формулу.
  3. Нажимаем F9. И ВВОД.

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

    Сформируем «карманы». Диапазоны, в пределах которых будут находиться значения. Первый такой диапазон – 0-0,1. Для следующих – формула =C2+$C$2.

Определим частоту для случайных чисел в каждом диапазоне. Используем формулу массива <=ЧАСТОТА(A2:A201;C2:C11)>.

Сформируем диапазоны с помощью знака «сцепления» (=”[0,0-“&C2&”]”).

  • Строим гистограмму распределения 200 значений, полученных с помощью функции СЛЧИС ().
  • Диапазон вертикальных значений – частота. Горизонтальных – «карманы».

    Как сделать генератор чисел в экселе. Генератор случайных чисел в Excel

    В Excel есть функция нахождения случайных чисел =СЛЧИС(). Возможность же найти случайное число в Excel, важная составляющая планирования или анализа, т.к. вы можете спрогнозировать результаты вашей модели на большом количестве данных или просто найти одно рандомное число для проверки своей формулы или опыта.

    Чаще всего эта функция применяется для получения большого количества случайных чисел. Т.е. 2-3 числа всегда можно придумать самому, для большого количества проще всего применить функцию.

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

    В английском Excel функция СЛЧИС числится как RAND

    Начнем с описания функции =СЛЧИС(). Для этой функции не нужны аргументы.

    А работает она следующим образом — выводит случайное число от 0 до 1. Число будет вещественное, т.е. по большому счету любое, как правило это десятичные дроби, например 0,0006.

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

    Случайное число в определенном диапазоне. Функция

    Что делать если вам не подходит имеющийся диапазон случайных чисел, и нужно набор случайных чисел от 20 до 135. Как это можно сделать?

    Нужно записать следующую формулу.

    Т.е. к 20 будет случайным образом прибавляться число от 0 до 115, что позволит получать каждый раз число в нужном диапазоне (см. первую картинку).

    • Кстати, если вам необходимо найти целое число в таком же диапазоне, для этого существует специальная функция, где мы указываем верхнюю и нижнюю границу значений
    • СЛУЧМЕЖДУ(20;135)
    • Просто, но очень удобно!
    • Если нужно множество ячеек случайных чисел просто протяните ячейку ниже.

    Случайное число с определенным шагом

    Если нам нужно получить рандомное число с шагом, к примеру пять, то мы воспользуемся одной из . Это будет ОКРВВЕРХ()

    Где мы находим случайное число от 0 до 50, а затем округляем его до ближайшего сверху значения кратного 5. Удобно, когда вы делаете расчет для комплектов по 5 штук.

    Как применять рандом для проверки модели?

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

    Случайное число в VBA

    Если вам необходим записать макрос и вы не знаете как это сделать, то можно прочитать .

    В VBA применяется функция Rnd(), при этом она не будет работать без включения команды Randomize для запуска генератора случайных чисел. Рассчитаем случайное число от 20 до 135 макросом.

    1. Sub MacroRand() Randomize Range(«A24») = Rnd * 115 + 20 End Sub
    2. Вставьте этот код в редактор VBA (Alt + F11)
    3. Как и всегда, прикладываю пример* со всеми вариантами расчета.
    4. Пишите комментарии, если у вас есть вопросы!

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

    Использование функции СЛУЧМЕЖДУ

    Для генерации равномерных случайных чисел между любыми двумя числами вы можете использовать функцию СЛУЧМЕЖДУ
    . Следующая формула, например, генерирует случайное число между 100 и 200: =СЛУЧМЕЖДУ(100;200) .

    В версиях, предшествующих Excel 2007, функция СЛУЧМЕЖДУ
    доступна только при установке дополнительного пакета анализа.

    Для совместимости с предыдущими версиями (и чтобы избежать использования этой надстройки) используйте такую формулу, где а
    представляет нижний, a b — верхний предел: =СЛЧИС()*(b-а)+а.

    Чтобы сгенерировать случайное число между 40 и 50, используйте следующую формулу: =СЛЧИС()*(50-40)+40 .

    Генератор случайных чисел в Excel в диапазоне с помощью функции СЛУЧМЕЖДУ

    СЛУЧМЕЖДУ – это еще одна функция в Excel для создания генератора случайных чисел.. Она возвращает случайные целые числа в указанном диапазоне:

    СЛУЧМЕЖДУ (нижняя граница; верхняя граница)

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

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

    Читайте также:  Двигатель для генератора с конусным валом

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

    Генератор случайных чисел в Excel – Генерация случайных чисел в заданном диапазоне

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

    Функция СЛУЧМЕЖДУ доступна в следующих версиях: Excel 2016, Excel 2013, Excel 2010 и Excel 2007.

    В более ранней версии Excel 2003, вы можете использовать формулу СЛЧИС , рассмотренную выше.

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

    Создание случайных чисел с заданным количеством знаков после запятой

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

    Например, чтобы получить список чисел с одним десятичным знаком, вы умножаете нижнее и верхнее значения на 10, а затем делите возвращаемое значение на 10:

    = СЛУЧМЕЖДУ(нижняя граница*10; верхняя граница*10)/10

    Например, чтобы получить список чисел с одним десятичным знаком, вы умножаете нижнее и верхнее значения на 10, а затем делите возвращаемое значение на 10:

    Следующая формула СЛУЧМЕЖДУ возвращает случайные десятичные числа от 1 до 50:

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

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

    Как предотвратить повторное вычисление СЛЧИС и СЛУЧМЕЖДУ

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

    1. Чтобы остановить функции СЛЧИС или СЛУЧМЕЖДУ от пересчета в одной ячейке , выберите эту ячейку, переключитесь на панель формул и нажмите F9 , чтобы заменить формулу на ее значение.
    2. Чтобы предотвратить функцию случайных чисел в Excel от автоматического обновления значений в нескольких ячейках , используйте функцию Вставить. Выберите все ячейки с формулой генерации случайных значений, нажмите Ctrl+C, чтобы скопировать их, затем щелкните правой кнопкой мыши выбранный диапазон и нажмите « Вставить специальные »–> « Значения ».

    Описание функции

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

    Функция =СЛУЧМЕЖДУСТАТ(Нижн_граница; Верхн_граница) имеет два аргумента:

    • Нижн_граница – Нижнее (минимальное) значение диапазона. По умолчанию данный аргумент равен 0.
    • Верхн_граница – Верхнее (максимальное) значение диапазона. По умолчанию данный аргумент равен 1.

    Данная функция пересчитывается в следующих случаях:

    1. Когда вы повторно вводите функцию;
    2. Когда вы изменяете значения какого-либо аргумента;
    3. Когда вы выполняете пересчет книги или листа.

    Пример 1

    Заполнение диапазона случайными значениями от 1 до 1000.

    Способ простой

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

    Поэтому мы пойдем другим путем.

    Во всех версиях Excel есть функция РАНГ (RANG) , предназначенная для ранжирования или, другими словами, определения топовой позиции числа в наборе. Для самого большого числа в списке ранг=1, второе в топе имеет ранг=2 и т.д.

    Введем в ячейку А2 функцию СЛЧИС (RAND) без аргументов и скопируем формулу вниз на 10 ячеек. Эта функция сгенерирует нам набор из 10 случайных дробных чисел от 0 до 1:

    В соседний столбец введем функцию РАНГ, чтобы определить позицию в рейтинге для каждого полученного случайного числа:

    Получим в столбце В то, что хотели – любое нужное количество неповторяющихся случайных целых чисел от 1 до 10.

    Чисто теоретически, может возникнуть ситуация, когда СЛЧИС выдаст нам два одинаковых случайных числа в столбце А, их ранги совпадут и мы получим повтор в столбце В. Однако, вероятность такого сценария крайне мала, учитывая тот факт, что точность составляет 15 знаков после запятой.

    Способ сложный

    Этот способ чуть сложнее, но использует всего одну формулу массива. Допустим, нам нужно создать на листе список из 9 неповторяющихся случайных целых чисел в интервале от 1 до 50.

    Введите в ячейку А2 следующую формулу, нажмите в конце Ctrl+Shift+Enter (чтобы ввести ее как формулу массива!) и скопируйте формулу вниз на требуемое количество ячеек:

    Источник