При решении задач в Microsoft Office Excel с помощью макросов иногда необходимо сгенерировать произвольные числа для проверки правильности работы программы. Или нужно создать большой массив различных цифр без повторений. Для подобных заданий в редакторе заложены специализированные функции, и сегодня разберемся, как задать случайное число в excel.
Функции
Excel содержит две функции, которые позволяют генерировать произвольные цифры –СЛЧИС и СЛУЧМЕЖДУ. Рассмотрим каждую из них более подробно.
Функция СЛЧИС не имеет аргументов, поэтому просто вписываете ее в строку формул и нажимаете Enter.
При помощи маркера автозаполнения можно применить формулу к нужному количеству ячеек.
Важно! При любом действии с ячейкой число автоматически изменяется. Чтобы его зафиксировать, необходимо поставить курсор в нужную ячейку, выделить выражение в строке формул и нажать клавишу F9.
Особенностью этой функции является то, что она работает в пределах от нуля включительно до единицы с нормальным распределением.
Чтобы сгенерировать цифры в заданном диапазоне, например от 3 до 8, необходимо дополнять формулу.
Чтобы сгенерировать случайное целое число, отлично подойдет функция СЛУЧМЕЖДУ. Где в качестве аргументов выступают два числа – верхняя и нижняя границы. При этом существует несколько особенностей:
- Первая часть формулы должна быть меньше второй.
- Границы должны быть целыми числами.
- Цифры после запятой отбрасываются.
Если умножить формулу на определенный коэффициент, то можно создать случайное дробное число с десятыми, сотыми, тысячными и так далее.
![]() |
![]() |
![]() |
В качестве бонуса рассмотрим, как использовать excel для лотереи. Для начала нужно выгрузить базу данных участников в программу любым известным способом, а затем провести розыгрыш. Формула будет выглядеть следующим образом:
Где СЧЕТЗ возвращает количество непустых ячеек, а ИНДЕКС позволяет вывести значение ячейки, которая находится на пересечении конкретной строки и столбца.
Специальный инструмент
Генератор случайных чисел можно найти в пакете анализа данных, который активируется через надстройки Excel. Чтобы воспользоваться этой функцией, необходимо нажать отдельную кнопку во вкладке Данные на Панели инструментов и из списка выбрать нужную строку.
Откроется окно настроек, в котором задаете число переменных и количество случайных чисел, затем указываете дополнительные параметры и место вывода полученных данных. Для примера используем нормальное распределение, которое можно выбрать из отдельного списка.
Этот метод намного проще, чем описанные выше способы. Однако он не позволяет накладывать дополнительные условия, поэтому генерация не всегда может удовлетворять требованиям пользователя.
Как видите, в редакторе существует несколько способов задания произвольного числа. Если нужны какие-то ограничения, то используйте встроенные функции, а если важно наличие случайного значения, то генератор из анализа данных подойдет лучше.
Источник: https://mir-tehnologiy.ru/sluchajnoe-chislo-v-excel-kak-sgenerirovat-primery/
Как сделать генератор чисел в экселе. Генератор случайных чисел в 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 штук.
Как применять рандом для проверки модели?
Проверить придуманную модель можно при помощи большого количества случайных чисел. Например проверить будет ли прибыльным бизнес-план
Решено вынести эту тему в отдельную статью. Следите за обновлениями, будет на этой неделе.
Случайное число в VBA
Если вам необходим записать макрос и вы не знаете как это сделать, то можно прочитать .
В VBA применяется функция Rnd(), при этом она не будет работать без включения команды Randomize для запуска генератора случайных чисел. Рассчитаем случайное число от 20 до 135 макросом.
- Sub MacroRand() Randomize Range(«A24») = Rnd * 115 + 20 End Sub
- Вставьте этот код в редактор VBA (Alt + F11)
- Как и всегда, прикладываю пример* со всеми вариантами расчета.
- Пишите комментарии, если у вас есть вопросы!
Случайные числа часто бывают полезны в электронных таблицах. Например, вы можете заполнить диапазон случайными числами для тестирования формул или сгенерировать случайные числа для симуляции самых разных процессов. 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.
Выберите тип распределения в раскрывающемся списке Распределение, а затем задайте дополнительные параметры (они изменяются в зависимости от распределения). Не забудьте указать параметр Выходной интервал, в котором хранятся случайные числа.
Чтобы выбрать из таблицы случайные данные, нужно воспользоваться функцией в Excel «Случайные числа». Это готовый генератор случайных чисел в Excel.
Эта функция пригодится при проведении выборочной проверки или при проведении лотереи, т.д. Итак, нам нужно провести розыгрыш призов для покупателей.
В столбце А стоит любая информация о покупателях – имя, или фамилия, или номер, т.д. В столбце в устанавливаем функцию случайных чисел. Выделяем ячейку В1. На закладке «Формулы» в разделе «Библиотека функций» нажимаем на кнопку «Математические» и выбираем из списка функцию «СЛЧИС». Заполнять в появившемся окне ничего не нужно. Просто нажимаем на кнопку «ОК».
Копируем формулу по столбцу. Получилось так.
Эта формула ставит случайные числа меньше нуля. Чтобы случайные числа были больше нуля, нужно написать такую формулу. =СЛЧИС()*100
При нажатии клавиши F9, происходит смена случайных чисел. Можно выбирать каждый раз из списка первого покупателя, но менять случайные числа клавишей F9.
Случайное число из диапазона Excel.
Чтобы получить случайные числа в определенном диапазоне, установим функцию «СЛУЧМЕЖДУ» в математических формулах. Установим формулы в столбце С. Диалоговое окно заполнили так.Укажем самое маленькое и самое большое число. Получилось так.
Можно формулами выбрать из списка со случайными числами имена, фамилии покупателей.
Внимание!
В таблице случайные числа располагаем в первом столбце. У нас такая таблица.
В ячейке F1 пишем такую формулу, которая перенесет наименьшие случайные числа.
=НАИМЕНЬШИЙ($A$1:$A$6;E1)
Копируем формулу на ячейки F2 и F3 – мы выбираем трех призеров.
В ячейке G1 пишем такую формулу. Она выберет имена призеров по случайным числам из столбца F. =ВПР(F1;$A$1:$B$6;2;0)
Получилась такая таблица победителей.
Если нужно выбрать призеров по нескольким номинациям, то нажимаем на клавишу F9 и произойдет не только замена случайных чисел, но и связанных с ними имен победителей.
Как отключить обновление случайных чисел в Excel.
Чтобы случайное число не менялось в ячейке, нужно написать формулу вручную и нажать клавишу F9 вместо клавиши «Enter», чтобы формула заменилась на значение.
В Excel есть несколько способов, как копировать формулы, чтобы ссылки в них не менялись. Смотрите описание простых способов такого копирования в статье »
Доброго времени суток, уважаемый, читатель!
Недавно, возникла необходимость создать своеобразный генератор случайных чисел в Excel в границах нужной задачи, а она была простая, с учётом количества человек выбрать случайного пользователя, всё очень просто и даже банально. Но меня заинтересовало, а что же ещё можно делать с помощью такого генератора, какие они бывают, каковые их функции для этого используются и в каком виде. Вопросом много, так что постепенно буду и отвечать на них.
Итак, для чего же собственно мы можем использовать этом механизм:
- во-первых: мы можем для тестировки формул, заполнить нужный нам диапазон случайными числами;
- во-вторых: для формирования вопросов различных тестов;
- в-третьих: для любого случайно распределения заранее задач между вашими сотрудниками;
- в-четвёртых: для симуляции разнообразнейших процессов.
В этой статье я рассмотрю только 3 варианта создания генератора (возможности макроса, я не буду описывать), а именно:
Создаём генератор случайных чисел с помощью функции СЛЧИС
С помощью функции СЛЧИС, мы имеем возможность генерировать любое случайное число в диапазоне от 0 до 1 и эта функция будет выглядеть так:
=СЛЧИС();
- =СЛЧИС()*100;
А вот если вам не нравятся дробные числа или просто нужно использовать целые числа, тогда используйте такую комбинацию функций, это позволит вам после запятой или просто отбросить их:
- =ОКРУГЛ((СЛЧИС()*100);0);
- =ОТБР((СЛЧИС()*100);0)
Когда возникает необходимость использовать генератор случайных чисел в каком-то определённом, конкретном диапазоне, согласно нашим условиям, к примеру, от 1 до 6 надо использовать следующую конструкцию (обязательно закрепите ячейки с помощью ):
- =СЛЧИС()*(b-а)+а, где,
- a – представляет нижнюю границу,
- b – верхний предел
и полная формула будет выглядеть: =СЛЧИС()*(6-1)+1
, а без дробных частей вам нужно написать: =ОТБР(СЛЧИС()*(6-1)+1;0)
Создаём генератор случайных чисел с помощью функции СЛУЧМЕЖДУ
Эта функция более проста и начала нас радовать в базовой комплектации Excel, после 2007 версии, что значительно облегчило работу с генератором, когда необходимо использовать диапазон. К примеру, для генерации случайного числа в диапазоне от 20 до 50 мы будем использовать конструкцию следующего вида:
=СЛУЧМЕЖДУ(20;50).
Создаём генератор с помощью надстройки AnalysisToolPack
В третьем способе не используется никакая функция генерации, а всё делается с помощью надстройки AnalysisToolPack
(эта надстройка входит в состав Excel). Встроенный в табличном редакторе инструмент можно использовать как инструмент генерации, но нужно знать если вы хотите изменить набор случайных чисел, то вам нужно эту процедуру перезапустить.
Для получения доступа к этой, бесспорно, полезной надстройки, нужно, для начала, с помощью диалогового окна «Надстройки» установить этот пакет. Если у вас он уже установлен, то дело за малым, выбираете пункт меню «Данные» – «Анализ» – «Анализ данных» , выбираете в предложенном программой списке и жмём «ОК».
В открывшемся окне мы выбираем тип в меню «Распределение» , после указываем дополнительные параметры, которые изменяются, исходя с типа распределения. Ну и финальный шаг, это указание «Выходной интервал» , именно тот интервал где будут храниться, ваши случайные числа.
Источник: https://stroysam-karpinsk.ru/boilers/kak-sdelat-generator-chisel-v-eksele-generator-sluchainyh-chisel-v/
Случайные числа без повторов
Постановка задачи
Предположим, что нам необходимо создать набор целых случайных чисел без повторов в заданном интервале значений. Примеры с ходу:
- генерация уникальных случайных кодов для товаров или пользователей
- назначение людей на задачи (каждому по случайной из списка)
- перестановки слов в поисковом запросе (привет 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, которая выдает требуемое количество случайных неповторяющихся чисел из заданного интервала.
Источник: https://www.planetaexcel.ru/techniques/14/230/
Как сгенерировать случайное число в Excel
Сегодня мы расскажем, как создать генератор случайных чисел в Excel. Часто бывает так, что необходимо получить какое-то случайное число, к примеру если Вы проводите лотерею и выбираете победителя; нужно протестировать формулу на случайных данных и так далее. Эксель предоставляет на выбор две функции, о которых пойдет речь ниже. Также если Вы не хотите разбираться в формулах, можете просто скачать готовый шаблон, по ссылке внизу статьи.
Эта функция вычисляет случайное целое число, между двумя заданными значениями. При каждом вычислении листа, возвращает новое случайное число. Синтаксис формулы:
СЛУЧМЕЖДУ(нижн_граница;верхн_граница),где:
- Нижн_граница Обязательный. Наименьшее целое число, которое возвращает функция СЛУЧМЕЖДУ.
- Верхн_граница Обязательный. Наибольшее целое число, которое возвращает функция СЛУЧМЕЖДУ.
Итак, все просто. Вы задаете наименьшее и наибольшее число, а Excel случайным образом сгенерирует число между ними.
С этой функцией все немного сложнее. Ее простое использование без дополнительных формул врятли принесет Вам желаемый результат. Поясню, почему: Функция СЛЧИС() не содержит дополнительных параметров и при ее использовании возвращается число, которое большее или равно 0 и меньше 1. Как видите, если к примеру вам нужно получить случайное число между 10 и 100, то использовать это формулу «в лоб» не получится, но не переживайте, сейчас я Вам расскажу как из такой ситуации можно легко выбраться. Итак, предположим что в ячейке A1 у Вас установлено минимальное значение, к примеру 10, а в ячейку B1 у Вас внесено максимальное значение, к примеру 100. Тогда используя, формулу, указанную ниже, Вы получите нужный результат:
=СЛЧИС()*(МАКС(A1;B1)-МИН(A1;B1))+МИН(A1;B1)
Как и в случае с СЛУЧМЕЖДУ, значение будет пересчитываться каждый раз при вычислении листа. Вручную это можно сделать, нажав F9. По ссылке ниже Вы можете скачать уже готовый генератор случайных чисел в Excel:
Пользоваться шаблоном очень просто: Введите начальное и конечное число в соответствующие ячейки и получите результат. Если необходимо обновить данные — то нажмите F9 и получите новое случайное число. Внимание: При каждом открытии файла число будет генерироваться заново!
Надеюсь мои советы Вам помогли. Подписывайте на наши группы в социальных сетях, оставляйте свои вопросы/комментарии к статье.
Источник: http://www.excelguide.ru/2016/02/random-number-generator.html
Одминский блог
Возникла тут надобность предоставить клиенту не поименный список, а смешать его для прохождения по нему случайным образом. Данные были представлены в виде тысячи текстовых строк.
- Сначала долго думал как сделать случайную сортировку в Notepad++, но смог найти только какое то дикое шаманство с добавлением кавычек в конце строки через плагин TextFX (через который сортировка по алфавиту делается в два клика), поэтому обратился к Microsoft Excel.
В Excel сортировка случайным образом делается через генерацию списка случайных чисел и его последующую сортировку. Случайное число генерится в ячейке через функцию СЛЧИС()
- То есть имеем скажем алфавитный список в столбце А, тогда в столбце Б делаем числовой формат и ставим 10 знаков после запятой (для максимальной рандомизации), после чего пишем в первой строчке =СЛЧИС() (в забугорном аналоге это вроде как функция RAND, но могу ошибаться), нажимаем Enter, после чего растягиваем её на весь столбец*.
Если кто не знает, то при растягивании, функция автоматически дублируется в последующие ячейки (или продолжается ряд, скажем числовой). Для этого надо подвести курсор к нижнему правому углу ячейки, где он превращается в крестик, который зажимаем левой кнопкой мыши и растягиваем в нужно направлении.
В итоге у нас получается числовой столбец заполненный случайными цифрами, после чего мы сортируем книгу или нужные столбцы по нужному (в моем примере B). Делается это через раздел Данные -> Сортировка или, если у вас навигация вытащена в Главное, то Сортировка и фильтр -> Настраиваемая сортировка.
Надо заметить, что на моем списке в тыщу строк, он что то не очень хотел рандомизироваться (случайный порядок выстраивался скорее блоками, чем построчно), поэтому мне пришлось его скопировать в соседний столбец, чтобы он был представлен просто цифрами, а не выводом функции. После этого случайная сортировка сработала и он перемешался уже качественно – уж не знаю це фича или бага.
Источник: http://odminblog.ru/excel-random-sort-lines/
Как перемешать данные в Excel в случайном порядке?
Перемешать числа или слова в Excel, нажав на одну кнопку, не получится. По умолчанию можно сортировать от большего к меньшему (для чисел) и от А до Я (для слов) и в обратном порядке.
Но как отсортировать данные рандомно (случайно)? Это довольно просто и решается применением формулы =СЛЧИС(). Далее будет детальное описание перемешивания данных при использовании этой формулы.
Итак, открываем документ в Microsoft Office Excel с какими-либо данными, в нашем случае это будет список с названиями сортов винограда.
В столбце B вводим формулу: случайное число =СЛЧИС(). После ввода этой формулы в ячейке будет случайное число в диапазоне от 0,0 до 1,0.
Дальше описана дополнительная информация по работе с формулой. Для формирования случайного числа в диапазоне от 0,0 до 10,0 умножаем формулу на 10 (=СЛЧИС()*10).
Для случайных значений в промежутке от 0,0 до 100 умножаем формулу на 100, в диапазоне до 1000 умножаем на 1000 и так далее по аналогии.
Если необходимо сформировать числа в определённом диапазоне, например с 50 до 100, то вставляем формулу следующего вида =СЛЧИС()*(50-100)+100.
Для расстановки слов в случайном порядке вид рандомного числа не имеет значения. После подстановки формулы, растягиваем её до конца списка.
Следующим этапом производим сортировку по столбцу со случайными числами (в примере столбец B). Сортировать от минимального к максимальному или наоборот не принципиально. Если выделен столбец только со случайными числами, то важно автоматически расширить выделенный диапазон до столбца с названиями.
Если же выделены нужные столбцы (это делается нажатием сочетанием Ctrl+A), то окошко с предложением автоматически расширить диапазон не выскачет. Таким образом, сортировка в случайном порядке произведена.
Источник: http://h-y-c.ru/knowledge-base/programs/text/261-kak-peremeshat-dannye-v-excel-v-sluchajnom-poryadke.html
Случайные числа без повторений
Это глава из книги Билла Джелена Гуру Excel расширяют горизонты: делайте невозможное с Microsoft Excel.
Задача: вы хотите сгенерировать случайные числа между 1 и 100, но… без дубликатов. Excel стандартно предлагает функции СЛЧИС() и СЛУЧМЕЖДУ(), но обе они, генерируют совершенно случайные числа с морем дубликатов.
Предыстория: подобные задачи я обычно решаю с помощью трех дополнительных столбцов, но PGC01 (это ник участника форума) предложил немаленькую формулу, чтобы справиться с этой проблемой одним махом. Чтобы понять формулу, надо для начала познакомиться с работой функции НАИМЕНЬШИЙ(массив;k).
Как правило, она возвращает k-е наименьшее значение массива. Например, =НАИМЕНЬШИЙ({69;9;12;27;42;55};3) возвращает 27, так как, 1-е наименьшее число в списке – 9, 2-е – 12, а 3-е – 27. Нечисловые значения в массиве игнорируются. Например, =НАИМЕНЬШИЙ({69;9;12;ЛОЖЬ;42;55};3) вернет 42.
Решение: сейчас мы разработаем формулу, которая будет формировать массив из неиспользованных чисел диапазона, а затем выбирать из этих чисел (рис. 1).
Формула генерит наборы чисел, от 1 до 10, упорядоченные случайным образом
Скачать заметку в формате Word или pdf, примеры в формате Excel
Формула массива в ячейке В9: {=НАИМЕНЬШИЙ(ЕСЛИ(СЧЁТЕСЛИ(B$3:B8;СТРОКА($1:$10))1; СТРОКА($1:$10));1+ЦЕЛОЕ(СЛЧИС()*(10-СТРОКА()+СТРОКА(B$4))))}. Excel начинает расчет формулы с функции СЧЁТЕСЛИ (рис. 2 и 3). СТРОКА($1:$10) возвращает массив чисел {1, 2, 3,…10} (Е5:Е14 на рис. 2 и второй прямоугольник на рис. 3).
Диапазон Е4:Н14 показывает, как вычисляется фрагмент формулы
Функция СЧЁТЕСЛИ просит Excel просматривать ранее сгенерированные числа (на рис. 1 и 2 они размещены в диапазоне B$3:B8), и подсчитывать, сколько из них равны последовательно 1, 2, 3, … 10. Ответы будут 1 или 0, в зависимости от того, было ли ранее сгенерировано соответствующее число, или нет. На рис.
2 результат работы функции СЧЁТЕСЛИ помещен в столбец F. На рис. 3 – это третий прямоугольник. В ячейках G5:G14 проверяется, равен ли единице результат в F (4-й прямоугольник). Функция ЕСЛИ в столбце Н (рис. 2) проверяет значение в столбце G, и возвращает значение из столбца Е, если в G = ИСТИНА, и ЛОЖЬ, если в G =ЛОЖЬ (см.также 6-й прямоугольник на рис. 3).
Последовательность вычислений, аналогичная рис. 2
В этот момент массив для выбора следующего случайного числа (т.е., случайного числа, которое будет отражено в ячейке В9 на рис. 1) сформирован. Обратите внимание, что в столбце Н на рис. 2 и в 6-м прямоугольнике на рис. 3 представлены числа, ранее не выбиравшиеся среди случайных. Оставшаяся часть формулы призвана выбрать из них одно число случайным образом.
В принципе, теперь осталась формула: =НАИМЕНЬШИЙ(Н5:Н14;СЛУЧМЕЖДУ(1;5))
На самом деле, установить, что осталось именно пять невыбранных чисел сложнее, чем в приведенной выше формуле.
Чтобы сделать формулу совместимый с Excel 2003, PGC01 использует функции СЛЧИС() вместо СЛУЧМЕЖДУ().
Функция СЛЧИС возвращает случайное число между 0 и 0,99999… =ЦЕЛОЕ(СЛЧИС()*5) возвращает случайное целое число между 0 и 4. И, наконец, =1+ЦЕЛОЕ(СЛЧИС()*5) возвращает случайное целое число между 1 и 5.
Поскольку вместо 5 в этой части формулы в разных строках должны быть разные числа, вместо фиксированного значения используется фрагмент 10-СТРОКА()+СТРОКА(B$4). Для ячейки В9 он вернет 10-9+4=5.
Резюме: довольно сложная формула массива может генерировать случайные числа без повторений.
Источник: http://baguzin.ru/wp/sluchajnye-chisla-bez-povtorenij/
Как при помощи Excel создать генератор случайных чисел — Трюки и приемы в Microsoft 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.
Диалоговое окно Генерация случайных чисел
Выберите тип распределения в раскрывающемся списке Распределение, а затем задайте дополнительные параметры (они изменяются в зависимости от распределения). Не забудьте указать параметр Выходной интервал, в котором хранятся случайные числа.
Источник: http://excelexpert.ru/kak-pri-pomoshhi-excel-sozdat-generator-sluchajnyx-chisel
Как найти случайное число в Excel, Функция СЛЧИС в Эксель, Рандом чисел
В Excel есть функция нахождения случайных чисел =СЛЧИС(). Возможность же найти случайное число в Excel, важная составляющая планирования или анализа, т.к. вы можете спрогнозировать результаты вашей модели на большом количестве данных или просто найти одно рандомное число для проверки своей формулы или опыта.
Чаще всего эта функция применяется для получения большого количества случайных чисел. Т.е. 2-3 числа всегда можно придумать самому, для большого количества проще всего применить функцию.
В большинстве языков программирования подобная функция известная как Random (от англ. случайный), поэтому часто можно встретить обрусевшее выражение «в рандомном порядке» и т.п.
В английском Excel функция СЛЧИС числится как RAND
Функция СЛЧИС(). Описание и как найти случайное число в Excel
Начнем с описания функции =СЛЧИС(). Для этой функции не нужны аргументы.
А работает она следующим образом — выводит случайное число от 0 до 1. Число будет вещественное, т.е. по большому счету любое, как правило это десятичные дроби, например 0,0006.
При каждом сохранении число будет меняться, чтобы обновить число без обновления нажмите F9.
Случайное число в определенном диапазоне. Функция
Что делать если вам не подходит имеющийся диапазон случайных чисел, и нужно набор случайных чисел от 20 до 135. Как это можно сделать?
Нужно записать следующую формулу.
=СЛЧИС()*115+20
Т.е. к 20 будет случайным образом прибавляться число от 0 до 115, что позволит получать каждый раз число в нужном диапазоне (см. первую картинку).
Кстати, если вам необходимо найти целое число в таком же диапазоне, для этого существует специальная функция, где мы указываем верхнюю и нижнюю границу значений
=СЛУЧМЕЖДУ(20;135)
Просто, но очень удобно!
Если нужно множество ячеек случайных чисел просто протяните ячейку ниже.
Случайное число с определенным шагом
Если нам нужно получить рандомное число с шагом, к примеру пять, то мы воспользуемся одной из функций округления. Это будет ОКРВВЕРХ()
=ОКРВВЕРХ(СЛЧИС()*50;5)
Где мы находим случайное число от 0 до 50, а затем округляем его до ближайшего сверху значения кратного 5. Удобно, когда вы делаете расчет для комплектов по 5 штук.
Как применять рандом для проверки модели?
Проверить придуманную модель можно при помощи большого количества случайных чисел. Например проверить будет ли прибыльным бизнес-план
Решено вынести эту тему в отдельную статью. Следите за обновлениями, будет на этой неделе.
Случайное число в VBA
Если вам необходим записать макрос и вы не знаете как это сделать, то можно прочитать здесь.
В VBA применяется функция Rnd(), при этом она не будет работать без включения команды Randomize для запуска генератора случайных чисел. Рассчитаем случайное число от 20 до 135 макросом.
Sub MacroRand()
Randomize
Range(«A24») = Rnd * 115 + 20
End Sub
Вставьте этот код в редактор VBA (Alt + F11)
Как и всегда, прикладываю пример* со всеми вариантами расчета.
Источник: https://excelworks.ru/2017/05/28/random/
Трюк №30. Как сделать в Excel случайную сортировку данных при помощи функции СЛЧИС (RAND)
В Excel можно случайным образом выбрать трех победителей — 1-го, 2-го и 3-го — из списка в электронной таблице. Самый простой и честный способ сделать это — использовать функцию СЛЧИС (RAND) Excel совместно с его возможностями сортировки.
Предположим, что в вашей электронной таблице есть таблица из трех столбцов начиная со столбца В с заголовками столбцов Name, Age и ID No. Можно поместить функцию СЛЧИС (RAND) в ячейку А2 и скопировать ее вниз на необходимое количество строк до конца таблицы.
Все ячейки в столбце А, в которые вы поместили функцию СЛЧИС (RAND), автоматически вернут случайное число, по которому вы сможете отсортировать таблицу.
Другими словами, можно отсортировать столбцы А, В, С и D по столбцу А по возрастанию или убыванию, и тремя победителями будут три верхних имени.
Функция СЛЧИС (RAND) — это пересчитываемая функция, которая автоматически пересчитывается, какое бы действие в Excel ни произошло, — например, ввод данных или принудительный запуск пересчета клавишей F9. Поэтому лучше по-быстрее записать имена победителей.
Однако вы можете использовать эту непостоянность в своих целях и записать макрос, который будет сортировать данные сразу после того, как вы пересчитаете функции и выполните функцию СЛЧИС (RAND), чтобы вернуть очередной набор случайных чисел. Этот макрос можно назначить какой-либо кнопке, чтобы каждый раз когда понадобится выбрать трех победителей, пришлось бы только нажать кнопку и записать три верхних имени.
Предположим, например, у вас есть данные в столбцах В, С и D, и в строке 1 содержатся заголовки. Сначала в ячейку А1 поместите заголовок RAND. В ячейку А2 введите формулу =RAND() и скопируйте ее вниз на необходимое количество ячеек. После этого выделите любую ячейку и выберите команду Разработчик → Начать запись (Developer → Record New Macro).
Выделите столбцы А, В, С и D и нажмите клавишу F9 (чтобы запустить пересчет). Выберите команду Данные → Сортировка (Home → Sort) и отсортируйте данные по столбцу А. Остановите запись макроса.
Теперь выберите команду Файл → Панели инструментов → Формы (File → Toolbars → Forms). На этой панели инструментов выберите кнопку и поместите ее в любое место на рабочем листе. Назначьте этой кнопке только что записанный макрос и щелкните кнопку ОК.
(Если хотите, измените текст на кнопке с Кнопка 1 (Button 1) на что-то более осмысленное.) Можно выделить столбец А и полностью скрыть его, так как пользователям не нужно видеть сгенерированные случайные числа.
Каждый раз когда вы будете щелкать кнопку, данные будут сортироваться случайным образом и вы сможете просто прочитать три верхних имени победителей.
Источник: http://Excel2010.ru/tryuk-30-kak-sdelat-v-excel-sluchajnuyu-sortirovku-dannyx-pri-pomoshhi-funkcii-slchis-rand.html