Как в excel случайно распределить значения

У нас есть последовательность чисел, состоящая из практически независимых элементов, которые подчиняются заданному распределению. Как правило, равномерному распределению.

Сгенерировать случайные числа в Excel можно разными путями и способами. Рассмотрим только лучше из них.

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

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

Рассмотрим их использование на примерах.

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

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

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

СЛЧИС.

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

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

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

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

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

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

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

  7. Строим гистограмму распределения 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. Определим минимальное и максимальное значение в диапазоне с помощью функций МИН и МАКС.
  2. Укажем величину каждого периода либо шаг. В нашем примере – 1.
  3. Количество категорий – 10.
  4. Таблица.

  5. Нижняя граница таблицы с категориями – округленное вниз ближайшее кратное число. В ячейку Н1 вводим формулу =ОКРВНИЗ(E1;E5).
  6. В ячейке Н2 и последующих формула будет выглядеть следующим образом: =ЕСЛИ(G2;H1+$E$5;»»). То есть каждое последующее значение будет увеличено на величину шага.
  7. ЕСЛИ.

  8. Посчитаем количество переменных в заданном промежутке. Используем функцию ЧАСТОТА. Формула будет выглядеть так:

Формула.

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

График.

График с нормальным распределением готов. Как и должно быть, по форме он напоминает колокол.

Сделать то же самое можно гораздо проще. С помощью пакета «Анализ данных». Выбираем «Генерацию случайных чисел».

Анализ данных.

О том как подключить стандартную настройку «Анализ данных» читайте здесь.

Заполняем параметры для генерации. Распределение – «нормальное».

Параметры.

Жмем ОК. Получаем набор случайных чисел. Снова вызываем инструмент «Анализ данных». Выбираем «Гистограмма». Настраиваем параметры. Обязательно ставим галочку «Вывод графика».

Вывод графика.

Получаем результат:

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

Пример.

График с нормальным распределением в Excel построен.

Skip to content

Как перемешать строки и сделать случайный выбор из списка

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

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

  • Как произвольно выбрать одно значение из списка
  • Как сделать случайный выбор без дубликатов
  • Как перемешать и выбрать строки
  • Инструмент для простого и быстрого случайного выбора ячеек, строк и столбцов

Что такое случайная выборка?

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

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

Например, вы хотите провести небольшой опрос среди своих клиентов. Очевидно, было бы неразумно рассылать анкету каждому человеку в вашей большой базе данных. Итак, кого вы побеспокоите своими вопросами? Будет ли это 100 новых клиентов, или первые 100 клиентов, перечисленные в алфавитном порядке, или 100 человек с самыми короткими именами? Ни один из этих подходов не соответствует вашим потребностям, потому что они изначально субъективны. Чтобы получить беспристрастную выборку, в которой у всех клиентов есть равные возможности быть выбранными, произведите случайный выбор, используя один из методов, описанных ниже.

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

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

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

=ИНДЕКС($A$2:$A$15;СЛУЧМЕЖДУ(1;СЧЁТЗ($A$2:$A$15)))

или

=ИНДЕКС($A$2:$A$15;СЛУЧМЕЖДУ(1;ЧСТРОК($A$2:$A$15)))

Вот и все! Средство выбора случайных имен для Excel настроено и готово к работе:

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

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

Как работают эти формулы

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

То есть, функция СЛУЧМЕЖДУ генерирует случайное целое число между двумя указанными вами значениями. Для нижнего порога вы указываете число 1. Для верхнего — используете СЧЁТЗ() или ЧСТРОК(), чтобы получить общее количество ячеек с данными. В результате СЛУЧМЕЖДУ() возвращает случайный номер ячейки в вашем наборе данных. Этот номер передается в функцию ИНДЕКС, сообщая ей, какую по счёту ячейку выбрать. Второй аргумент (номер столбца) можно не указывать, поскольку он у нас только один.

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

Эту задачу можно также решить с помощью формулы

=ИНДЕКС($A$2:$A$15;СЛУЧМЕЖДУ(1;СЧЁТ($A$2:$A$15)))

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

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

В следующем примере показано, как сделать случайный выбор в Excel без дубликатов.

Случайный выбор без дубликатов.

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

Со списком имен в ячейках A2: A16 выполните следующие действия, чтобы извлечь несколько имен:

  1. Введите формулу случайного числа в B2 и скопируйте ее вниз по столбцу:
    =СЛЧИС()
  2. Поместите приведенную ниже формулу в C2, чтобы извлечь случайное значение из столбца A:

=ИНДЕКС($A$2:$A$16;РАНГ(B2;$B$2:$B$16))

  1. Скопируйте приведенную выше формулу в столько ячеек, сколько случайных значений вы хотите выбрать. В нашем примере мы копируем формулу еще в четыре ячейки (C2: C6).

Вот и все! Извлекаются пять имен без повторов:

Как работает эта формула

Как и в предыдущем примере, вы используете функцию ИНДЕКС для извлечения значения из столбца A на основе номера позиции. Для этого требуются две разные функции:

  • Формула СЛЧИС() заполняет столбец B случайными числами.
  • Функция РАНГ() возвращает ранг случайного числа из колонки B и из той же строки. Например, РАНГ(B2;$B$2:$B$16) получает ранг числа из B2 (0,188906401). B2 сравнивается со всеми числами из диапазона $B$2:$B$16. Оно занимает по величине 13-е место. При копировании в C3 относительная ссылка B2 изменяется на B3 и возвращает ранг числа из B3 и так далее.
  • Число, возвращаемое функцией РАНГ(), передается функции INDEX, поэтому она выбирает значение из соответствующей позиции. Значит, в С3 нужно поместить 13-е по порядку значение из диапазона $A$2:$A$16. 

Предупреждение! Как показано на скриншоте выше, наша случайная выборка Excel содержит только уникальные значения. Теоретически вероятность появления дубликатов здесь очень мала, но все же существует. И вот почему: в очень большом наборе данных СЛЧИС() может сгенерировать повторяющиеся числа, а РАНГ() будет возвращать одинаковое место для этих чисел. Лично у меня во время тестов ни разу не было дубликатов, но теоретически такая вероятность есть.

Если вы ищете железобетонно надёжную формулу для случайного выбора только с уникальными значениями, используйте комбинацию РАНГ + СЧЁТЕСЛИ вместо просто РАНГ. 

Полная формула немного громоздка, но на 100% не содержит дубликатов:

=ИНДЕКС($A$2:$A$16;РАНГ.РВ(B2;$B$2:$B$16)+СЧЁТЕСЛИ($B$2:B2;B2)-1;1)

Примечания:

  • Как и СЛУЧМЕЖДУ(), функция СЛЧИС() в Excel также пересоздает новые числа при каждом пересчете вашего рабочего листа, что приводит к изменению набора выбора. Чтобы результат оставался неизменным, скопируйте его и вставьте в другое место как значение (Специальная вставка > Значения).
  • Если одно и то же имя (число, дата или любое другое значение) встречается в исходном наборе данных более одного раза, результат может также содержать несколько вхождений одного и того же значения.

А вот еще одно похожее на предыдущее решение, в котором используется функция НАИМЕНЬШИЙ().

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

Предположим, нам нужно выбрать 5 имён. Для этого в колонке С записываем цифры от 1 до 5.

Далее используем формулу

=ИНДЕКС($A$2:$A$15;ПОИСКПОЗ(НАИМЕНЬШИЙ($B$2:$B$15;C2),$B$2:$B$15;0))

Поясним, как это работает. При помощи функции НАИМЕНЬШИЙ() выбираем самое маленькое значение из сгенерированных чисел. Функция ПОИСКПОЗ помогает нам определить его позицию в списке. И затем при помощи ИНДЕКС() извлекаем имя, находящееся в этой позиции.

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

Но можно сэкономить себе время и не создавать колонку с порядковыми номерами. В качестве счётчика принято использовать функцию СТРОКА().

=ИНДЕКС($A$2:$A$15;ПОИСКПОЗ(НАИМЕНЬШИЙ($B$2:$B$15;СТРОКА(A1));$B$2:$B$15;0))

При копировании вниз СТРОКА(A1) изменится на СТРОКА(А2) и соответственно возвратит номер 2. И так далее. В остальном всё работает точно так же.

Думаю, вы понимаете, что вместо НАИМЕНЬШИЙ() можно вполне использовать НАИБОЛЬШИЙ(). Дело вкуса 😊.

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

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

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

Вы можете для экономии времени использовать кнопки сортировки АЯ или ЯА, но при этом курсор нужно обязательно установить на столбец с формулой СЛЧИС(). Заголовок колонки желательно написать по-русски, иначе он имеет шансы переместиться в конец таблицы.

Теперь осталось нажать ОК, и строки таблицы будут пересортированы и произвольно перемешаны.

Пусть вас не смущает тот факт, что после сортировки по столбцу D вы видите в нем совершенно не упорядоченные числа. Дело в том, что сортировка меняет порядок строк, и тут же вновь происходит пересчёт всех формул СЛЧИС(). Но ведь наша задача не отсортировать, а произвольно перемешать строки,  не так ли?

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

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

Как случайно выбрать в Excel с помощью инструмента Randomize.

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

Если в вашем Excel установлена надстройка Ultimate Suite , вы можете использовать инструмент случайной сортировки. Для этого делаете следующее:

  • Выберите любую ячейку в вашей таблице.
  • Перейдите на вкладку AblebitsTools  > Utilites и нажмите кнопки Randomize > Select Randomly (Случайный выбор):

Слева появится панель настройки, о которой следует сказать чуть подробнее.

Поясним, что скрывается за каждой из цифр.

  1. По умолчанию будет выбран весь ваш диапазон данных. Выберите другой диапазон, выделив его при помощи мышки или введя адрес в это поле.
  2. Если вы изменили диапазон, снова выделите всю таблицу, щелкнув значок «Развернуть выделение» .
  3. Вы можете исключить строки заголовков из выбора, если таковые есть, установив флажок Моя таблица имеет 1 строку заголовка .

Замечание. Если в вашей таблице более широкий заголовок, кликните по этой надписи, введите реальное количество строк, и они не будут выделены и использованы.

  1. Откройте нужный раздел,  который вам больше всего подходит, чтобы произвольно выбрать:
  • некоторое количество или процент  строк.
  • аналогично — столбцы на листе.
  • несколько или какую-то часть ячеек из вашего диапазона.
  1. Укажите количество или процент строк, столбцов или ячеек, которые вы хотите выбрать. Вы можете ввести необходимое значение в процентное или числовое поле соответственно. Или установите эти значения, щелкая стрелки вверх и вниз рядом с полями.
  • Ознакомившись с панелью надстройки, выберите, что нужно получить: случайные строки, столбцы или ячейки.
  • Укажите число или процент для желаемого размера выборки.
  • Нажмите кнопку Select.

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

И через секунду вы получите случайный выбор:

Теперь вы можете нажать Ctrl + C чтобы скопировать выделенное, а затем использовать комбинацию Ctrl + V, чтобы вставить это в нужное место на том же или другом листе.

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

Если вы хотите протестировать инструмент «Случайный выбор» на своих данных, загрузите полнофункциональную пробную версию Ultimate Suite for Excel.

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

Содержание

  1. Создаём генератор случайных чисел с помощью функции СЛЧИС
  2. Генерация случайной величины, распределенной по равномерному закону
  3. Способ применения функции «СЛУЧМЕЖДУ( ; )»:
  4. Способ применения функции «СЛЧИС()»:
  5. Функция случайного числа в Excel
  6. Выборка случайных чисел с помощью СЛЧИС
  7. Функция СЛУЧМЕЖДУ
  8. Выбор рандом чисел в заданном диапазоне
  9. Дробные числа больше единицы
  10. Как сделать генератор чисел в экселе. Генератор случайных чисел в Excel
  11. Случайное число в определенном диапазоне. Функция
  12. Случайное число с определенным шагом
  13. Как применять рандом для проверки модели?
  14. Использование надстройки Analysis ToolPack
  15. Произвольное дискретное распределение
  16. Генератор случайных чисел нормального распределения
  17. Как предотвратить повторное вычисление СЛЧИС и СЛУЧМЕЖДУ

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

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

Рис. 1.

5. Щелкнем указателем мыши в строке формул и изменим имеющуюся там формулу, приведя ее к виду: =СЛЧИС()*(100-50)+50.
6. Нажмем комбинацию клавиш <Ctrl> + <Shift> + <Enter> – в выделенном диапазоне будут размещены числа, распределенные по равномерному закону в диапазоне 50 – 100 (рис. 2).

Рис.2.

Способ применения функции «СЛУЧМЕЖДУ( ; )»:

  1. Установить курсор в ячейку, которой присваиваете значение;
  2. Выбрать функцию «СЛУЧМЕЖДУ( ; )»;
  3. В меню указать начальное и конечное число диапазона или ячейки, содержащие эти числа;
  4. Нажать «ОК»

    Наряду с функцией «СЛУЧМЕЖДУ» существует «СЛЧИС()», эта функция в отличие от «СЛУЧМЕЖДУ» выбирает случайное число из диапазона от 0 до 1. То есть присваивает ячейке случайное дробное число до единицы.

    Способ применения функции «СЛЧИС()»:

    1. Установить курсор в ячейку, которой присваиваете значение;
    2. Выбрать функцию «СЛЧИС()»;
    3. Нажать «ОК»

    У нас есть последовательность чисел, состоящая из практически независимых элементов, которые подчиняются заданному распределению. Как правило, равномерному распределению.

    Сгенерировать случайные числа в Excel можно разными путями и способами.

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

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

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

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

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

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

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

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

    1. Сформируем «карманы». Диапазоны, в пределах которых будут находиться значения. Первый такой диапазон – 0-0,1. Для следующих – формула =C2+$C$2.
    2. Определим частоту для случайных чисел в каждом диапазоне. Используем формулу массива {=ЧАСТОТА(A2:A201;C2:C11)}.
    3. Сформируем диапазоны с помощью знака «сцепления» (=»»).
    4. Строим гистограмму распределения 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. Определим минимальное и максимальное значение в диапазоне с помощью функций МИН и МАКС.
    2. Укажем величину каждого периода либо шаг. В нашем примере – 1.
    3. Количество категорий – 10.
    4. Нижняя граница таблицы с категориями – округленное вниз ближайшее кратное число. В ячейку Н1 вводим формулу =ОКРВНИЗ(E1;E5).
    5. В ячейке Н2 и последующих формула будет выглядеть следующим образом: =ЕСЛИ(G2;H1+$E$5;””). То есть каждое последующее значение будет увеличено на величину шага.
    6. Посчитаем количество переменных в заданном промежутке. Используем функцию ЧАСТОТА. Формула будет выглядеть так:

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

    График с нормальным распределением готов. Как и должно быть, по форме он напоминает колокол.

    Сделать то же самое можно гораздо проще. С помощью пакета «Анализ данных». Выбираем «Генерацию случайных чисел».

    О том как подключить стандартную настройку «Анализ данных» читайте здесь.

    Заполняем параметры для генерации. Распределение – «нормальное».

    Жмем ОК. Получаем набор случайных чисел. Снова вызываем инструмент «Анализ данных». Выбираем «Гистограмма». Настраиваем параметры. Обязательно ставим галочку «Вывод графика».

    Получаем результат:

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

    График с нормальным распределением в Excel построен.

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

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

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

    Содержание

    • 1 Случайная сортировка текстового массива
    • 2 Порядок сортировки в Excel
    • 3 Сортировка по цвету ячейки и по шрифту
    • 4 Сортировка в Excel по нескольким столбцам
    • 5 Сортировка строк в Excel
    • 6 Случайная сортировка в Excel
    • 7 Динамическая сортировка таблицы в MS Excel
      • 7.1 Способ 1. Случайная сортировка
      • 7.2 Способ 2. Функция НАИМЕНЬШИЙ
      • 7.3 Способ 3. Случайная выборка без повторов — функция Lotto на VBA
      • 7.4 Ссылки по теме

    Случайная сортировка текстового массива

    11 Dec 2015 | Автор: anchous |

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

    Сначала долго думал как сделать случайную сортировку в Notepad++, но смог найти только какое то дикое шаманство с добавлением кавычек в конце строки через плагин TextFX (через который сортировка по алфавиту делается в два клика), поэтому обратился к Microsoft Excel.

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

    То есть имеем скажем алфавитный список в столбце А, тогда в столбце Б делаем числовой формат и ставим 10 знаков после запятой (для максимальной рандомизации), после чего пишем в первой строчке =СЛЧИС()  (в забугорном аналоге это вроде как функция RAND, но могу ошибаться), нажимаем Enter, после чего растягиваем её на весь столбец*.

    ***Если кто не знает, то при растягивании, функция автоматически дублируется в последующие ячейки (или продолжается ряд, скажем числовой). Для этого надо подвести курсор к нижнему правому углу ячейки, где он превращается в крестик, который зажимаем левой кнопкой мыши и растягиваем в нужно направлении.

    В итоге у нас получается числовой столбец заполненный случайными цифрами, после чего мы сортируем книгу или нужные столбцы по нужному (в моем примере B). Делается это через раздел Данные -> Сортировка или, если у вас навигация вытащена в Главное, то Сортировка и фильтр -> Настраиваемая сортировка.

    как в excel сделать рандомную сортировку

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

    VN:F

    Rating: 10.0/ (2 votes cast)

    VN:F

    Rating: +2 (from 2 votes)

    Случайная сортировка текстового массива, 10.0 out of 10 based on 2 ratings

    Теги: excel, Windows

    Сортировка данных в Excel – инструмент для представления информации в удобном для пользователя виде.

    Числовые значения можно отсортировать по возрастанию и убыванию, текстовые – по алфавиту и в обратном порядке. Доступны варианты – по цвету и шрифту, в произвольном порядке, по нескольким условиям. Сортируются столбцы и строки.

    Существует два способа открыть меню сортировки:

    1. Щелкнуть правой кнопкой мыши по таблице. Выбрать «Сортировку» и способ.
    2. Открыть вкладку «Данные» — диалоговое окно «Сортировка».

    Часто используемые методы сортировки представлены одной кнопкой на панели задач:

    Сортировка таблицы по отдельному столбцу:

    1. Чтобы программа правильно выполнила задачу, выделяем нужный столбец в диапазоне данных.
    2. Далее действуем в зависимости от поставленной задачи. Если нужно выполнить простую сортировку по возрастанию/убыванию (алфавиту или обратно), то достаточно нажать соответствующую кнопку на панели задач. Когда диапазон содержит более одного столбца, то Excel открывает диалоговое окно вида: Чтобы сохранилось соответствие значений в строках, выбираем действие «автоматически расширить выделенный диапазон». В противном случае отсортируется только выделенный столбец – структура таблицы нарушится.

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

    Сортировка по цвету ячейки и по шрифту

    Программа Excel предоставляет пользователю богатые возможности форматирования. Следовательно, можно оперировать разными форматами.

    Сделаем в учебной таблице столбец «Итог» и «зальем» ячейки со значениями разными оттенками. Выполним сортировку по цвету:

    1. Выделяем столбец – правая кнопка мыши – «Сортировка».
    2. Из предложенного списка выбираем «Сначала ячейки с выделенным цветом».
    3. Соглашаемся «автоматически расширить диапазон».

    Программа отсортировала ячейки по акцентам. Пользователь может самостоятельно выбрать порядок сортировки цвета. Для этого в списке возможностей инструмента выбираем «Настраиваемую сортировку».

    В открывшемся окне вводим необходимые параметры:

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

    По такому же принципу сортируются данные по шрифту.

    Сортировка в Excel по нескольким столбцам

    Как задать порядок вторичной сортировки в Excel? Для решения этой задачи нужно задать несколько условий сортировки.

    1. Открываем меню «Настраиваемая сортировка». Назначаем первый критерий.
    2. Нажимаем кнопку «Добавить уровень».
    3. Появляются окошки для введения данных следующего условия сортировки. Заполняем их.

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

    Сортировка строк в Excel

    По умолчанию сортируются данные по столбцам. Как осуществить сортировку по строкам в Excel:

    1. В диалоговом окне «Настраиваемой сортировки» нажать кнопку «Параметры».
    2. В открывшемся меню выбрать «Столбцы диапазона».
    3. Нажать ОК. В окне «Сортировки» появятся поля для заполнения условий по строкам.

    Таким образом выполняется сортировка таблицы в Excel по нескольким параметрам.

    Случайная сортировка в Excel

    Встроенные параметры сортировки не позволяют расположить данные в столбце случайным образом. С этой задачей справится функция СЛЧИС.

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

    Ставим курсор в соседнюю ячейку (слева-справа, не важно). В строку формул вводим СЛЧИС(). Жмем Enter. Копируем формулу на весь столбец – получаем набор случайных чисел.

    Теперь отсортируем полученный столбец по возрастанию /убыванию – значения в исходном диапазоне автоматически расположатся в случайном порядке.

    Динамическая сортировка таблицы в MS Excel

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

    1. Есть набор простых чисел, которые нужно отсортировать по возрастанию.
    2. Ставим курсор в соседнюю ячейку и вводим формулу: =НАИМЕНЬШИЙ(A:A;СТРОКА(A1)). Именно так. В качестве диапазона указываем весь столбец. А в качестве коэффициента – функцию СТРОКА со ссылкой на первую ячейку.
    3. Изменим в исходном диапазоне цифру 7 на 25 – «сортировка» по возрастанию тоже изменится.

    Если необходимо сделать динамическую сортировку по убыванию, используем функцию НАИБОЛЬШИЙ.

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

    1. Исходные данные – перечень неких названий в произвольном порядке. В нашем примере – список фруктов.
    2. Выделяем столбец и даем ему имя «Фрукты». Для этого в поле имен, что находится возле строки формул вводим нужное нам имя для присвоения его к выделенному диапазону ячеек.
    3. В соседней ячейке (в примере – в В5) пишем формулу: Так как перед нами формула массива, нажимаем сочетание Ctrl + Shift + Enter. Размножаем формулу на весь столбец.
    4. Если в исходный столбец будут добавляться строки, то вводим чуть модифицированную формулу: Добавим в диапазон «фрукты» еще одно значение «помело» и проверим:

    Скачать формулы сортировки данных в Excel

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

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

    У функции

    СЛЧИС (RAND) в Excel 2003 есть большой недостаток. Хотя в справке ясно указано, что возвращаются случайные числа от 0 до 1, это не всегда так, в частности, когда функция

    СЛЧИС (RAND) используется в нескольких ячейках. Иногда она возвращает числа, меньшие 0. Прочитать объяснение Microsoft по поводу изменения алгоритма можно на сайте по адресу:

    http://support.microsoft.com/default.aspx?kbid=828795

    .

    Нечастая, но интересная задача: выбрать из массива данных (списка) случайным образом N элементов. Причин для ее возникновения может быть несколько, например:

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

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

    Способ 1. Случайная сортировка

    Добавить к нашему списку еще один столбец и вставить в него функцию генерации случайных чисел СЛЧИС (RAND). Затем отсортировать наш список по добавленному столбцу (Данные — Сортировка) и взять N первых элементов из получившейся таблицы:

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

    Способ 2. Функция НАИМЕНЬШИЙ

    Этот способ заключается в использовании функции НАИМЕНЬШИЙ (SMALL) для выбора из списка N позиций с наименьшим случайным числом в столбце А:

    После выбора пяти (в нашем примере) наименьших случайных чисел из столбца А, мы вытаскиваем имена, которые соответствуют этим числам с помощью функции ВПР (VLOOKUP).

    Способ 3. Случайная выборка без повторов — функция Lotto на VBA

    Можно создать простую функцию на VBA, которая будет выдавать заданное количество случайных чисел из нужного интервала. Откроем редактор Visual Basic (ALT+F11 или в старых версиях Excel через меню Сервис — Макрос — Редактор Visual Basic), вставим новый модуль через меню Insert — Module и скопируем туда текст вот такой функции:

    Function Lotto(Bottom As Integer, Top As Integer, Amount As Integer)      Dim iArr As Variant      Dim i As Integer      Dim r As Integer      Dim temp As Integer      Dim Out(1000) As Variant            Application.Volatile            ReDim iArr(Bottom To Top)      For i = Bottom To Top          iArr(i) = i      Next i            For i = Top To Bottom + 1 Step -1          r = Int(Rnd() * (i - Bottom + 1)) + Bottom          temp = iArr(r)          iArr(r) = iArr(i)          iArr(i) = temp      Next i      j = 0      For i = Bottom To Bottom + Amount - 1          Out(j) = iArr(i)          j = j + 1      Next i            Lotto = Application.Transpose(Out)        End Function  

    У этой функции будет три аргумента:

    • Bottom — нижняя граница интервала случайных чисел
    • Top — верхняя граница интервала случайных чисел
    • Amount — количество случайных чисел, которое мы хотим отобрать из интервала

    Т.е., например, чтобы отобрать 5 случайных чисел от 10 до 100, нужно будет ввести =Lotto(10;100;5)

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

    Обратите внимание, что наша функция Lotto должна быть введена как формула массива, т.е. сначала необходимо выделить диапазон ячеек результатов (D2:D6) затем ввести нашу функцио Lotto и, после ввода аргументов функции, нажать Ctrl+Shift+Enter, чтобы ввести эту функцию именно как функцию массива во все выделенные ячейки.

    Ну, а дальше останется при помощи уже знакомой функции ВПР (VLOOKUP) вытащить имена из списка, соответствующие случайным номерам.

    Ссылки по теме

    • Использование функции ВПР (VLOOKUP) для подстановки значений
    • Создание макросов и пользовательских функций на VBA
    • Функция RandomSelect из надстройки PLEX


    Отсортируем исходный массив ЧИСЕЛ в случайном порядке.

    Пусть задан диапазон ячеек содержащий числа (

    A2:A8

    ).

    Задача

    Отсортируем числа из диапазона

    A2:A8

    в случайном порядке. Новый список разместим в столбце

    E

    .

    Решение

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

    Файл примера

    ):

    • каждому значению списка сопоставим случайное число (для этого используем функцию

      СЛЧИС()

      ), расположив его в столбце

      C

      ;
    • для каждого случайного числа из столбца

      C

      с помощью формулы

      =РАНГ(C7;$C$7:$C$13)

      определим ранг — величину относительно других значений в списке. Если отсортировать список, то ранг числа будет его позицией. Ранг разместим в столбце

      D

      ;
    • т.к. массив рангов представляет собой

      массив порядковых чисел

      1, 2, 3, 4, …, то будем интерпретировать их как позиции значения в массиве.

    • с помощью формулы

      =ИНДЕКС($A$7:$A$13;D7)

      получим список, отсортированный в случайном порядке (столбец

      E

      ).

    В случае наличия в массиве случайных чисел

    повторов

    функция

    РАНГ()

    вернет для этих величин одно и тоже значение ранга, что приведет к ошибке сортировки. К счастью, эта вероятность крайне мала: для исходного массива, состоящего из 100 элементов, вероятность повтора будет порядка 1,0Е-13 (10 в минус 13 степени). Для визуального контроля повторов можно использовать

    Условное форматирование

    (выделить требуемый диапазон, создать правило

    Условного форматирования

    ).

    Альтернативный вариант без использования функции РАНГ()

    Чтобы отсортировать список (диапазон

    А25:А31

    ) в случайном порядке можно действовать немного по-другому:

    • каждому значению списка сопоставить случайное число, расположив его в столбце

      С

      ;
    • отсортировать

      список случайных величин, например, по возрастанию (в столбце

      D

      );

    • сопоставляя случайное число значению исходного списка, получить список, отсортированный в случайном порядке (столбец

      E

      ).

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

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

    =(СЛУЧМЕЖДУ(1;10)&»,»&СТРОКА(A25))+0

    (столбец

    С

    )

    Отсортировать список случайных величин можно с помощью формулы (столбец

    D

    ):

    =НАИБОЛЬШИЙ($C$25:$C$31;СТРОКА()-СТРОКА($D$24))

    И наконец, следующая формула

    =ИНДЕКС($A$25:$A$31;ПОИСКПОЗ(D25;$C$25:$C$31;0))

    ищет значение из отсортированного списка и возвращает номер позиции (функция

    ПОИСКПОЗ()

    ), затем по номеру позиции выводится значение из исходного списка (функция

    ИНДЕКС()

    ).

    Понравилась статья? Поделить с друзьями:
  • Как в excel сложить ячейки одной формулой
  • Как в excel сложить ячейки одного цвета в excel
  • Как в excel сложить числа с буквами
  • Как в excel сложить числа в ячейках по определенному условию
  • Как в excel сложить числа в разных ячейках