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

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

  • генерация неповторимых случайных кодов для продуктов либо юзеров
  • предназначение людей на задачки (любому по случайной из перечня)
  • перестановки слов в запросе в поисковике (привет seo-шникам)
  • игра в лото и т.д.

Метод 1. Обычный

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

random-unique3.png

Потому мы пойдем иным методом.

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

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

random-unique1.png

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

random-unique2.png

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

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

Метод 2. Непростой

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

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

random-unique4.png

Метод 3. Макрос

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

Генератор случайных чисел в Excel в спектре

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

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

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

Интересно почитать:  Ечисло поиск excel

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

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

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

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

  1. Делаем клик по ячейке, содержащей случайное число.
  2. Делаем клик по строке формул, опосля что выделяем ее.
  3. Жмем на клавишу F9 на клавиатуре.
  4. Заканчиваем эту последовательность действий нажатием клавиши Enter.

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

  1. Сделаем колонку с кармашками, другими словами, теми ячейками, в каких мы будем держать наши спектры. 1-ый таковой – 0-0,1. Формируем последующие при помощи таковой формулы: =C2+$C$2.
  2. Опосля этого нам нужно найти, как нередко встречаются случайные числа, относящиеся к любому определенному спектру. Для этого мы можем применять формулу массива <=ЧАСТОТА(A2:A201;C2:C11)>. Генератор случайных чисел в Excel в диапазоне
  3. Дальше, с внедрением знака «сцепления» делаем наши последующие спектры. Формула обычная =”[0,0-“&C2&”]”. Генератор случайных чисел в Excel в диапазоне
  4. Сейчас мы делаем диаграмму, описывающую то, как распределяются эти 200 значений. Генератор случайных чисел в Excel в диапазоне

В описанном нами примере частота соответствует оси Y, а «кармашки» – оси X.

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

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

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

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

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

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

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

А сейчас давайте создадим маленький генератор чисел, который будет получать значения, основываясь на определенном спектре данных. Для этого применяется формула =ИНДЕКС(A1:A10;ЦЕЛОЕ(СЛЧИС()*10)+1).

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

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

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

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

А чтоб избрать два случайных числа, нужно применить функцию ИНДЕКС.

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

Формула, при помощи которой мы это сделали, приведена на снимке экрана выше. =ИНДЕКС(A1:A7;СЛУЧМЕЖДУ(1;СЧЁТЗ(A1:A7))) – при помощи данной нам формулы мы можем сделать генератор для 1-го текстового значения. Лицезреем, что мы упрятали вспомогательную колонку. Так сможете создать и вы.

Генератор случайных чисел обычного распределения

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

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

Итак, у нас есть продукт, создание которого стоит 100 рублей. Как следует, числа должны генерироваться примерно такие же. В этом случае средним значением обязано быть 100 рублей. Сделаем массив данных, и сделаем график, в каком обычное отклонение составит 1,5 рубля, а распределение значений – обычное.

Для этого необходимо применять функцию =НОРМОБР(СЛЧИС();100;1,5). Дальше программка автоматом меняет вероятности, исходя из того, что самый высочайший шанс имеют числа, приближенные к сотке.

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

Рандомизатор чисел в Excel

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

Рандомный выбор чисел от нуля до 1-го

Функция =СЛЧИС() возвращает дробное число в границах от 0 до 1. Другими словами, произвольную десятичную дробь. Функция записывается без аргументов! Вот, как это смотрится:

Итог никогда не будет превосходить единицу.

Выбор рандом чисел в данном спектре

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

К примеру, так можно получить число в промежутке от -100 до 100:

случайное число в диапазоне

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

А сейчас мало примеров использования приведенных функций.

Дробные числа больше единицы

Как вы уже сообразили, функция СЛЧИС постоянно возвращает дробное число от 0 до 1, а СЛУЧМЕЖДУ – целое в обозначенном спектре. Как избрать число рандомно, дробное и больше единицы? Например, нам необходимо случайное дробное число в границах от 10 до 90. Поможет таковая формула:

Дробное большое случайное число

Как сгенерировать дату в спектре

Ранее я говорил, что дата – это число, обозначающее количество дней, прошедших от 0 января 1900 года. Можно пользоваться сиим, чтоб сгенерировать произвольную дату, к примеру, в интервале от 1 января 1980 года до 31 декабря 2005.

Действуем по методу:

  1. Запишем в ячейках исходную и конечную даты периода
    крайние даты диапазона
  2. Присвоим ячейкам числовой формат. Лицезреем, что исходной дате соответствует число 29221, а конечной – 38717
    даты в числовом формате
  3. Воспользуемся функцией СЛУЧМЕЖДУ , чтоб избрать значение в этом спектре
    Случайная дата в диапазоне
  4. Присвоим ячейке с формулой формат даты. Готово!

Рандомное четное число

Чтоб гарантированно получить четное либо нечетное число, можно пользоваться функциями округления ЧЁТН и НЕЧЁТ .

Вот, как это будет смотреться:

Случайное четное число

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

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

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

Внедрение функции СЛЧИС

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

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

Внедрение функции СЛУЧМЕЖДУ

Для генерации равномерных случайных чисел меж хоть какими 2-мя числами вы сможете применять функцию СЛУЧМЕЖДУ. Последующая формула, к примеру, генерирует случайное число меж 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. Диалоговое окно Генерация случайных чисел

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

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

Ссылка на основную публикацию
Adblock
detector