Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel для Интернета Excel 2021 Excel 2021 для Mac Excel 2019 Excel 2019 для Mac Excel 2016 Excel 2016 для Mac Excel 2013 Excel 2010 Excel 2007 Excel для Mac 2011 Excel Starter 2010 Еще…Меньше
В этой статье описаны синтаксис формулы и использование функции СЛЧИС в Microsoft Excel.
Описание
Функция СЛЧИС возвращает равномерно распределенное случайное вещественное число, большее или равное 0, но меньшее 1. При каждом пересчете листа возвращается новое случайное вещественное число.
Примечание: начиная с версии Excel 2010, в Excel для генерации случайных чисел используется алгоритм «вихрь Мерсенна» (MT19937).
Синтаксис
СЛЧИС()
У функции СЛЧИС нет аргументов.
Замечания
-
Чтобы получить случайное вещественное число в диапазоне между a и b, можно использовать следующую формулу:
=СЛЧИС()*(b–a)+a
-
Если требуется применить функцию СЛЧИС для генерации случайного числа, но изменение этого числа при каждом вычислении значения ячейки нежелательно, вы можете ввести в строке формулы =СЛЧИС(), а затем нажать клавишу F9, чтобы заменить формулу случайным числом. Формула вычисляется и оставляет только значение.
Пример
Скопируйте образец данных из приведенной ниже таблицы и вставьте их в ячейку A1 на новом листе Excel. Чтобы отобразить результаты формул, выделите их и нажмите клавишу F2, а затем — ВВОД. При необходимости вы можете настроить ширину столбцов, чтобы увидеть все данные.
Формула |
Описание |
Результат |
---|---|---|
=СЛЧИС() |
Случайное число, большее или равное 0, но меньшее 1 |
меняется |
=СЛЧИС()*100 |
Случайное число, большее или равное 0 и меньшее 100 |
меняется |
=ЦЕЛОЕ(СЛЧИС()*100) |
Случайное целое число, большее или равное 0 и меньшее 100 |
меняется |
Примечание. При пересчете листа после ввода формулы или данных в другую ячейку или при выполнении пересчета вручную (по нажатию клавиши F9) каждая формула, в которой используется функция СЛЧИС, создает новое случайное число. |
Дополнительные сведения
Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.
См. также
Алгоритм Mersenne Twister
Функция СЛУЧМЕЖДУ
Нужна дополнительная помощь?
У нас есть последовательность чисел, состоящая из практически независимых элементов, которые подчиняются заданному распределению. Как правило, равномерному распределению.
Сгенерировать случайные числа в Excel можно разными путями и способами. Рассмотрим только лучше из них.
Функция случайного числа в Excel
- Функция СЛЧИС возвращает случайное равномерно распределенное вещественное число. Оно будет меньше 1, больше или равно 0.
- Функция СЛУЧМЕЖДУ возвращает случайное целое число.
Рассмотрим их использование на примерах.
Выборка случайных чисел с помощью СЛЧИС
Данная функция аргументов не требует (СЛЧИС()).
Чтобы сгенерировать случайное вещественное число в диапазоне от 1 до 5, например, применяем следующую формулу: =СЛЧИС()*(5-1)+1.
Возвращаемое случайное число распределено равномерно на интервале [1,10].
При каждом вычислении листа или при изменении значения в любой ячейке листа возвращается новое случайное число. Если нужно сохранить сгенерированную совокупность, можно заменить формулу на ее значение.
- Щелкаем по ячейке со случайным числом.
- В строке формул выделяем формулу.
- Нажимаем F9. И ВВОД.
Проверим равномерность распределения случайных чисел из первой выборки с помощью гистограммы распределения.
- Сформируем «карманы». Диапазоны, в пределах которых будут находиться значения. Первый такой диапазон – 0-0,1. Для следующих – формула =C2+$C$2.
- Определим частоту для случайных чисел в каждом диапазоне. Используем формулу массива {=ЧАСТОТА(A2:A201;C2:C11)}.
- Сформируем диапазоны с помощью знака «сцепления» (=»[0,0-«&C2&»]»).
- Строим гистограмму распределения 200 значений, полученных с помощью функции СЛЧИС ().
Диапазон вертикальных значений – частота. Горизонтальных – «карманы».
Функция СЛУЧМЕЖДУ
Синтаксис функции СЛУЧМЕЖДУ – (нижняя граница; верхняя граница). Первый аргумент должен быть меньше второго. В противном случае функция выдаст ошибку. Предполагается, что границы – целые числа. Дробную часть формула отбрасывает.
Пример использования функции:
Случайные числа с точностью 0,1 и 0,01:
Как сделать генератор случайных чисел в Excel
Сделаем генератор случайных чисел с генерацией значения из определенного диапазона. Используем формулу вида: =ИНДЕКС(A1:A10;ЦЕЛОЕ(СЛЧИС()*10)+1).
Сделаем генератор случайных чисел в диапазоне от 0 до 100 с шагом 10.
Из списка текстовых значений нужно выбрать 2 случайных. С помощью функции СЛЧИС сопоставим текстовые значения в диапазоне А1:А7 со случайными числами.
Воспользуемся функцией ИНДЕКС для выбора двух случайных текстовых значений из исходного списка.
Чтобы выбрать одно случайное значение из списка, применим такую формулу: =ИНДЕКС(A1:A7;СЛУЧМЕЖДУ(1;СЧЁТЗ(A1:A7))).
Генератор случайных чисел нормального распределения
Функции СЛЧИС и СЛУЧМЕЖДУ выдают случайные числа с единым распределением. Любое значение с одинаковой долей вероятности может попасть в нижнюю границу запрашиваемого диапазона и в верхнюю. Получается огромный разброс от целевого значения.
Нормальное распределение подразумевает близкое положение большей части сгенерированных чисел к целевому. Подкорректируем формулу СЛУЧМЕЖДУ и создадим массив данных с нормальным распределением.
Себестоимость товара Х – 100 рублей. Вся произведенная партия подчиняется нормальному распределению. Случайная переменная тоже подчиняется нормальному распределению вероятностей.
При таких условиях среднее значение диапазона – 100 рублей. Сгенерируем массив и построим график с нормальным распределением при стандартном отклонении 1,5 рубля.
Используем функцию: =НОРМОБР(СЛЧИС();100;1,5).
Программа Excel посчитала, какие значения находятся в диапазоне вероятностей. Так как вероятность производства товара с себестоимостью 100 рублей максимальная, формула показывает значения близкие к 100 чаще, чем остальные.
Перейдем к построению графика. Сначала нужно составить таблицу с категориями. Для этого разобьем массив на периоды:
- Определим минимальное и максимальное значение в диапазоне с помощью функций МИН и МАКС.
- Укажем величину каждого периода либо шаг. В нашем примере – 1.
- Количество категорий – 10.
- Нижняя граница таблицы с категориями – округленное вниз ближайшее кратное число. В ячейку Н1 вводим формулу =ОКРВНИЗ(E1;E5).
- В ячейке Н2 и последующих формула будет выглядеть следующим образом: =ЕСЛИ(G2;H1+$E$5;»»). То есть каждое последующее значение будет увеличено на величину шага.
- Посчитаем количество переменных в заданном промежутке. Используем функцию ЧАСТОТА. Формула будет выглядеть так:
На основе полученных данных сможем сформировать диаграмму с нормальным распределением. Ось значений – число переменных в промежутке, ось категорий – периоды.
График с нормальным распределением готов. Как и должно быть, по форме он напоминает колокол.
Сделать то же самое можно гораздо проще. С помощью пакета «Анализ данных». Выбираем «Генерацию случайных чисел».
О том как подключить стандартную настройку «Анализ данных» читайте здесь.
Заполняем параметры для генерации. Распределение – «нормальное».
Жмем ОК. Получаем набор случайных чисел. Снова вызываем инструмент «Анализ данных». Выбираем «Гистограмма». Настраиваем параметры. Обязательно ставим галочку «Вывод графика».
Получаем результат:
Скачать генератор случайных чисел в Excel
График с нормальным распределением в Excel построен.
В данной статье мы рассмотрим особенности алгоритма генератора случайных чисел в Excel, и на примерах рассмотрим, как использовать функции СЛЧИС и СЛУЧМЕЖДУ в Excel для генерации случайных чисел, случайных чисел с заданным количеством знаков после запятой, дат и времени.
- Генератор случайных чисел с использованием функции СЛЧИС
- Генератор случайных чисел от нуля до заданной верхней границы диапазона
- Генератор случайных чисел в диапазоне
- Генератор случайных целых чисел в Excel
- Генератор случайных целых чисел в диапазоне с помощью функции СЛУЧМЕЖДУ
- Создание случайных чисел с заданным количеством знаков после запятой
- Генератор случайных дат в Excel
- Генератор случайного времени в Excel
- Генератор случайных букв в Excel
- Как предотвратить повторное вычисление СЛЧИС и СЛУЧМЕЖДУ
- Генератор случайных чисел с помощью Анализа данных
- Пример генерации случайных чисел с нормальным распределением
Генератор случайных чисел с использованием функции СЛЧИС
Функция СЛЧИС является одной из двух функций, специально предназначенных для генерации случайных чисел в Excel. Данная функция возвращает случайное десятичное число (действительное число) между 0 и 1.
СЛЧИС() является энергозависимой функцией, что означает, что при каждом вычислении рабочего листа создается новое случайное число. И это происходит каждый раз, когда вы выполняете какое-либо действие на листе, например, обновляете формулу (не обязательно формулу СЛЧИС, любую другую формулу на листе), редактируете ячейку или вводите новые данные.
Функция СЛЧИС доступна во всех версиях: Excel 2016, Excel 2013, Excel 2010, Excel 2007, Excel 2003.
Поскольку функция Excel СЛЧИС не имеет аргументов, вы просто вводите =СЛЧИС() в ячейке и затем копируете формулу на столько ячеек, сколько хотите:
Генератор случайных чисел в Excel – Генерация случайных чисел
А теперь давайте сделаем еще один шаг и напишем несколько формул СЛЧИС для генерации случайных чисел в соответствии с определенными условиями.
Генератор случайных чисел от нуля до заданной верхней границы диапазона
Чтобы сделать генератор случайных чисел от нуля до любого значения N, вы несколько раз выполняете функцию СЛЧИС с помощью N:
=СЛЧИС()*N
Например, для создания последовательности случайных чисел, больших или равных 0, но менее 50, используйте следующую формулу:
=СЛЧИС()*50
Примечание. Значение верхней границы никогда не включается в возвращаемую случайную последовательность. Например, если вы хотите получить случайные числа от 0 до 10, включая 10, правильная формула =СЛЧИС()*11.
Генератор случайных чисел в диапазоне
Чтобы создать случайное число в диапазоне, т.е. случайное число между любыми двумя указанными вами числами, используйте следующую формулу СЛЧИС:
= СЛЧИС() * (B — A) + A
Где A – это нижнее значение границы (наименьшее число), а B – верхнее значение границы (наибольшее число).
Например, чтобы сделать генератор случайных чисел от 10 до 50, вы можете использовать следующую формулу:
= СЛЧИС()*(50-10)+10
Примечание. Эта формула генерации случайных чисел никогда не вернет число, равное наибольшему числу указанного диапазона (значение B).
Генератор случайных целых чисел в Excel
Чтобы функция Excel СЛЧИС создавала случайные целые числа, возьмите одну из вышеупомянутых формул и заверните ее в функцию ЦЕЛОЕ.
Чтобы сделать генератор случайных целых чисел от 0 до 50:
= ЦЕЛОЕ(СЛЧИС()*50)
Чтобы генерировать случайные целые числа от 10 до 50:
= ЦЕЛОЕ (СЛЧИС()*(50-10)+10)
Генератор случайных чисел в Excel – Генерация случайных целых чисел
Генератор случайных чисел в Excel в диапазоне с помощью функции СЛУЧМЕЖДУ
СЛУЧМЕЖДУ – это еще одна функция в Excel для создания генератора случайных чисел.. Она возвращает случайные целые числа в указанном диапазоне:
СЛУЧМЕЖДУ (нижняя граница; верхняя граница)
Очевидно, что нижняя граница – это наименьшее число, а верхняя граница – наибольшее число в диапазоне случайных чисел, которые вы хотите получить.
Подобно СЛЧИС, СЛУЧМЕЖДУ в Excel является изменчивой функцией, и она также возвращает новое случайное целое число каждый раз, когда ваша таблица пересчитывается или изменяется.
Например, того чтобы сделать генератор случайных целых чисел от 10 до 50 (включая 10 и 50) используйте следующую формулу СЛУЧМЕЖДУ:
= СЛУЧМЕЖДУ(10; 50)
Генератор случайных чисел в Excel – Генерация случайных чисел в заданном диапазоне
Функция СЛУЧМЕЖДУ в Excel может создавать как положительные, так и отрицательные числа случайные числа. Например, чтобы получить список случайных чисел от -10 до 10, введите следующую формулу на листе:
=СЛУЧМЕЖДУ(-10;10)
Функция СЛУЧМЕЖДУ доступна в следующих версиях: Excel 2016, Excel 2013, Excel 2010 и Excel 2007.
В более ранней версии Excel 2003, вы можете использовать формулу СЛЧИС, рассмотренную выше.
Далее в этой статье вы найдете еще несколько примеров формул, демонстрирующих, как использовать функцию СЛУЧМЕЖДУ для создания генератора случайных чисел, отличных от целых.
Создание случайных чисел с заданным количеством знаков после запятой
Хотя функция СЛУЧМЕЖДУ в Excel была предназначена для генерации случайных целых чисел, вы можете использовать ее для генерации случайных десятичных чисел с таким количеством десятичных знаков, сколько хотите.
Например, чтобы получить список чисел с одним десятичным знаком, вы умножаете нижнее и верхнее значения на 10, а затем делите возвращаемое значение на 10:
= СЛУЧМЕЖДУ(нижняя граница*10; верхняя граница*10)/10
Например, чтобы получить список чисел с одним десятичным знаком, вы умножаете нижнее и верхнее значения на 10, а затем делите возвращаемое значение на 10:
Следующая формула СЛУЧМЕЖДУ возвращает случайные десятичные числа от 1 до 50:
= СЛУЧМЕЖДУ(1*10;50*10)/10
Генератор случайных чисел в Excel – Генерация случайных чисел с одним знаком после запятой
Аналогичным образом, чтобы сделать генератор случайных чисел от 1 до 50 с двумя знаками после запятой, вы умножаете аргументы функции СЛУЧМЕЖДУ на 100, а затем делите результат на 100:
=СЛУЧМЕЖДУ(1*100; 50*100)/100
Генератор случайных чисел в Excel – Генерация случайных чисел с двумя знаками после запятой
Генератор случайных дат в Excel
Чтобы вернуть список случайных дат между данными двумя датами, используйте функцию СЛУЧМЕЖДУ в сочетании с ДАТА:
=СЛУЧМЕЖДУ (ДАТА (дата начала); ДАТА (дата окончания))
Например, чтобы получить список дат между 1 сентября 2017 и 20 ноября 2017 включительно, введите следующую формулу на листе:
=СЛУЧМЕЖДУ(ДАТА(2017;9;1);ДАТА(2017;11;21))
Не забудьте применить формат даты к ячейке (ячейкам), и вы получите список случайных дат, подобных этому:
Генератор случайных чисел в Excel – Генерация случайных дат
Генератор случайного времени в Excel
Во внутренней системе Excel времена хранятся как десятичные числа, и вы можете использовать стандартную функцию Excel СЛЧИС для вставки случайных действительных чисел, а затем просто применить формат времени к ячейкам:
Генератор случайных чисел в Excel – Генерация случайного времени функцией СЛЧИС и применение к ней формата Время
Чтобы сделать генератор случайного времени в указанном диапазоне, требуется более конкретная формула. Рассмотрим подробнее.
Генератор случайного времени в указанном диапазоне
Чтобы вставить произвольное время между любыми двумя указанными вами временными интервалами, используйте функцию ВРЕМЯ в сочетании с Excel СЛЧИС:
= ВРЕМЯ (время начала) + СЛЧИС () * (ВРЕМЯ (время начала) — ВРЕМЯ (время окончания))
Например, чтобы вставить случайное время между 5:30 и 18:00, вы можете использовать одну из следующих формул:
=ВРЕМЯ(5;30;0)+СЛЧИС()*(ВРЕМЯ(18;0;0)-ВРЕМЯ(5;0;0))
Генератор случайных чисел в Excel – Генерация случайного времени в заданном интервале
Генератор случайных букв в Excel
Чтобы вставить случайную букву, необходимо использовать комбинацию трех различных функций:
=СИМВОЛ(СЛУЧМЕЖДУ(КОДСИМВ(«A»);КОДСИМВ(«Z»)))
Где A — первый символ, а Z — последний символ в диапазоне букв, которые вы хотите включить (в алфавитном порядке).
Разберем функции, в приведенной выше формуле:
- КОДСИМВ возвращает числовые коды ANSI для указанных букв.
- СЛУЧМЕЖДУ принимает числа, возвращаемые функциями КОДСИМВ , как нижнее и верхнее значения диапазона.
- СИМВОЛ преобразует случайные коды ANSI, возвращаемые СЛУЧМЕЖДУ, в соответствующие буквы.
Генератор случайных чисел в Excel – Генерация случайных букв
Так как коды ANSI отличаются для прописных и строчных букв, эта формула учитывает регистр.
Если кто-то наизусть знает Коды символов ANSI, ничто не мешает вам передавать коды непосредственно в функцию СЛУЧМЕЖДУ.
Например, чтобы получить произвольные прописные буквы между A (код ANSI 65) и Z (код ANSI 90), вы пишете:
=СИМВОЛ(СЛУЧМЕЖДУ (65;90))
Чтобы генерировать строчные буквы между а (код ANSI 97) в z (код ANSI 122), вы используете следующую формулу:
=СИМВОЛ(СЛУЧМЕЖДУ(97;122))
Чтобы вставить случайный специальный символ, например! «# $% & ‘() * +, -. /, используйте функцию СЛУЧМЕЖДУ с нижним параметром, установленным на 33 (код ANSI для«! »), а верхний параметр — 47 (код ANSI для« / »).
=СИМВОЛ(СЛУЧМЕЖДУ(33;47))
Генератор случайных чисел в Excel – Генерация случайных символов
Как предотвратить повторное вычисление СЛЧИС и СЛУЧМЕЖДУ
Если вы хотите получить постоянный набор случайных чисел, дат или текстовых строк, которые не будут меняться каждый раз, то есть зафиксировать случайные числа, когда лист пересчитывается, используйте один из следующих способов:
- Чтобы остановить функции СЛЧИС или СЛУЧМЕЖДУ от пересчета в одной ячейке, выберите эту ячейку, переключитесь на панель формул и нажмите F9, чтобы заменить формулу на ее значение.
- Чтобы предотвратить функцию случайных чисел в Excel от автоматического обновления значений в нескольких ячейках, используйте функцию Вставить. Выберите все ячейки с формулой генерации случайных значений, нажмите Ctrl+C, чтобы скопировать их, затем щелкните правой кнопкой мыши выбранный диапазон и нажмите «Вставить специальные»—> «Значения».
Генератор случайных чисел в Excel – Вставка значений
Генератор случайных чисел с помощью Анализа данных
С помощью пакета анализа данных вы, например, можете сгенерировать случайные числа нормального распределения или другого распределения. По умолчанию данный пакет не подключен, поэтому необходимо его загрузить. Как это сделать, описано в этой статье.
Пример генерации случайных чисел нормального распределения
Для того чтобы сгенерировать случайные числа нормального распределения, переходим во вкладку «ДАННЫЕ», в группе «Анализ» выбираем «Анализ данных».
Генератор случайных чисел в Excel – Анализ данных
В открывшемся списке выбираем «Генерация случайных чисел» и нажимаем кнопку «ОК».
Генератор случайных чисел в Excel – Генерация случайных чисел
В открывшемся окне в списке «Распределение» выбираем «Нормальное», вводим число переменных, число случайных чисел, среднее и отклонение, а также место, где вы хотите разместить сгенерированные случайные числа.
Генератор случайных чисел в Excel – Генерация случайных чисел нормального распределения
После того, как все данные введены нажимаем кнопку «ОК», и в результате получаем сгенерированные случайные числа нормального распределения.
Ну вот на этом все. Теперь вы научились, как сделать генератор случайных чисел, чисел в диапазоне, чисел с заданным количеством знаков после запятой, случайных дат, случайного времени, а также случайных букв, а также, как сгенерировать случайные числа нормального распределения. Таким образом, владея данными знаниями, вы можете создать не только генератор случайных чисел в Excel, но и генератор паролей.
[ Генератор случайных чисел в Excel скачать ]
Функция
СЛЧИС(
)
, английский вариант RAND(),
возвращает случайное вещественное число (
равномерно распределенное
), которое большее или равно 0 и меньше 1 (например, 0,797285074257933).
Функция
СЛЧИС()
не требует аргументов.
Синтаксис функции
СЛЧИС()
Чтобы получить случайное вещественное число в диапазоне между a и b, можно использовать следующую формулу
=СЛЧИС()*(b-a)+a
(см. также статью
Функция СЛУЧМЕЖДУ() — Случайное число из заданного интервала в MS EXCEL
).
Возвращаемое случайное число распределено равномерно на интервале [0,1], а число возвращаемое формулой
=СЛЧИС()*(b-a)+a
распределено равномерно на интервале [a,b].
Для этой случайной величины математическое ожидание МХ и дисперсия DX вычисляются по формулам MX=(a+b)/2, DX= (b-a)
2
/12.
Убедиться в равномерности распределения можно построив гистограмму распределения. В
файле примера
приведена гистограмма распределения 1000 случайных значений, полученных с помощью формулы
=СЛЧИС()
Новое случайное число возвращается при каждом вычислении листа, например, при изменении содержимого любой ячейки листа (после нажатия
ENTER
) или при нажатии клавиши
F9
(Пересчет листа). Если изменение случайного числа при каждом вычислении листа нежелательно, то можно заменить формулу
=СЛЧИС()
на ее значение. Для этого: выделите ячейку с формулой, в
Строке формул
выделите саму формулу и нажмите клавишу
F9
(см. статью
Просмотр промежуточного результата вычисления формулы (клавиша F9)
), а затем клавишу
ENTER
, чтобы заменить формулу случайным числом.
Skip to content
В статье объясняются особенности алгоритма получения случайных чисел Excel и показано, как использовать функции СЛЧИС и СЛУЧМЕЖДУ для чисел, дат, паролей и других текстовых выражений.
Прежде чем мы углубимся в различные методы производства случайных чисел в Excel, давайте определимся, что они собой представляют. Говоря простым языком, случайные данные – это последовательность цифр, букв или других символов, в которой отсутствуют какой-либо шаблон или закономерность.
Случайность имеет множество различных приложений в криптографии, статистике, лотерее, азартных играх и многих других областях. И поскольку она всегда была востребована, с древних времен существовали различные методы создания случайных чисел, такие как подбрасывание монет, бросание кубиков, тасование игральных карт и так далее. Конечно, мы не будем полагаться на такие «экзотические» техники в этом руководстве и сосредоточимся на том, что может предложить генератор случайных чисел Excel.
- Как работает алгоритм случайных чисел
- Функция СЛЧИС
- Случайные числа в указанном диапазоне при помощи функции СЛУЧМЕЖДУ
- Случайные числа с нужным количеством десятичных знаков
- Случайные даты в Excel
- Как вставить случайное время в Excel
- Случайные дата и время
- Как получить случайные буквы
- Создание текстовых строк и паролей
- Как предотвратить постоянный пересчет формул СЛЧИС и СЛУЧМЕЖДУ
- Как создать уникальные случайные числа в Excel
Создание случайных чисел в Excel – основы.
Случайные числа — это без всякой закономерности выбранная последовательность чисел. Но в жизни практически всегда применяются псевдослучайные числа. Их получают по заранее определенному сложному алгоритму. Для постороннего человека они выглядят случайными, но все же их можно предсказать, если узнать этот сложный алгоритм. Псевдослучайные числа применяются во всех компьютерных программах.
Хотя функции случайных чисел Excel удовлетворяют всем стандартным тестам на случайность, они все же не выдают истинные случайные числа. Но это не значит, что Excel для этих целей не годится. Псевдослучайные числа, создаваемые функциями Excel, прекрасно подходят для многих целей.
Давайте подробнее рассмотрим, как это происходит, чтобы вы знали, чего от стандартных функций Excel можно ожидать, а чего нельзя.
Как и большинство компьютерных программ, генератор случайных чисел Excel производит псевдослучайные числа с помощью некоторых математических формул. Для вас это означает, что теоретически эти числа, создаваемые Excel, предсказуемы. Но только при условии, что кто-то знает все детали алгоритма. Это причина того, что это никогда не было задокументировано и вряд ли когда-либо будет сделано.
Итак, как можно создавать случайные числа в Excel?
- Функции Excel СЛЧИС и СЛУЧМЕЖДУ (RAND и RANDBETWEEN в английской версии) возвращают псевдослучайные числа из равномерного распределения, также известного как прямоугольное распределение, где существует равная вероятность для всех значений, которые величина может принимать. Хороший пример равномерного распределения — бросок одной игральной кости. Итогом такой жеребьевки являются шесть возможных значений (1, 2, 3, 4, 5, 6), и каждое из них имеет одинаковую вероятность.
- Функции Excel СЛЧИС и СЛУЧМЕЖДУ, по слухам, инициализируются из системного времени компьютера. Технически начальное число является отправной точкой для создания последовательности чисел. И каждый раз, когда вызывается случайная функция Excel, используется новое начальное число, которое возвращает уникальную последовательность. Другими словами, при использовании генератора случайных чисел в Excel вы не можете получить повторяемую комбинацию ни с помощью функции СЛЧИС и СЛУЧМЕЖДУ, ни с помощью VBA, ни какими-либо другими способами.
- В ранних версиях Excel, до Excel 2003, алгоритм случайных чисел имел относительно небольшой диапазон (менее 1 миллиона неповторяющихся последовательностей чисел) и не прошел несколько стандартных тестов на случайность для длинных последовательностей. По этой причине, если кто-то все еще работает со старой версией Excel, вам лучше не использовать функцию СЛЧИС с большими имитационными моделями.
Это довольно длинное техническое введение закончено, и мы переходим к более практическим и более полезным вещам.
Функция случайного числа — СЛЧИС.
Функция СЛЧИС в Excel — одна из двух функций, специально разработанных для случайных чисел. Она возвращает произвольное десятичное число (действительное число) от 0 до 1.
СЛЧИС – это непостоянная функция, означающая, что новое случайное число возникает каждый раз при вычислении рабочего листа. А это происходит часто — когда вы выполняете какое-либо действие, например, редактируете формулу (не обязательно СЛЧИС, даже любую другую формулу на листе), редактируете ячейку или вводите новые данные.
Функция СЛЧИС доступна во всех версиях Excel, начиная с самых ранних.
Поскольку она не имеет аргументов, вы просто записываете её в ячейку, а затем копируете куда это необходимо:
А теперь давайте составим несколько формул СЛЧИС для создания случайных чисел в соответствии с вашими условиями.
Ограничение верхней границы диапазона случайных чисел.
Чтобы создать массив от нуля до любого значения N, вы умножаете функцию СЛЧИС на N:
СЛЧИС() * N
Например, чтобы создать последовательность чисел, больше или равных 0, но меньше 50, используйте следующую формулу:
=СЛЧИС()*50
Примечание. Значение верхней границы никогда не включается в возвращаемую последовательность. Например, если вы хотите получить случайные числа от 0 до 10, включая 10, правильная формула будет =СЛЧИС()*11.
Обратите также внимание, что количество отображаемых десятичных знаков определяется форматом ячеек. В данном случае установлено 2 знака после запятой, хотя на самом деле их гораздо больше. Об округлении их мы поговорим чуть ниже.
Случайные числа в интервале «от-до».
Чтобы создать случайное число между любыми двумя указанными вами величинами, используйте следующую формулу СЛЧИС:
СЛЧИС() * ( B — A ) + A
Где A — значение нижней границы (наименьшее число), а B — значение верхней границы (наибольшее).
Например, чтобы записать на ваш лист случайные числа от 10 до 50, вы можете использовать следующую формулу:
=СЛЧИС()*(50-10)+10
Примечание. Эта формула никогда не вернет число, равное максимальному значению указанного диапазона (то есть, B).
Случайные целые числа.
Чтобы функция Excel СЛЧИС выдавала целые числа, возьмите любую из вышеупомянутых формул и оберните ее в функцию ЦЕЛОЕ().
Чтобы создать случайные целые числа от 0 до 50:
=ЦЕЛОЕ(СЛЧИС()*50)
Чтобы получить их в интервале от 10 до 50:
=ЦЕЛОЕ(СЛЧИС()*(50-10)+10)
А теперь рассмотрим более новую функцию — СЛУЧМЕЖДУ().
Функция Excel СЛУЧМЕЖДУ — как получить случайные целые числа в указанном диапазоне
СЛУЧМЕЖДУ — еще одна функция, предоставляемая Excel для случайных чисел. Она возвращает их в указанном вами диапазоне:
СЛУЧМЕЖДУ(нижнее_значение; верхнее_значение)
Как и СЛЧИС, СЛУЧМЕЖДУ в Excel – это непостоянная функция, которая возвращает новый результат каждый раз, когда ваша электронная таблица пересчитывается. А происходит это при любом изменении на листе.
Например, чтобы решить ту же задачу, которую мы рассматривали чуть выше: получить случайные целые числа от 10 до 50 (включая 10 и 50), используйте следующую формулу:
=СЛУЧМЕЖДУ(10; 50)
Функция СЛУЧМЕЖДУ в Excel может создавать как положительные, так и отрицательные числа. Например, чтобы получить список целых чисел от -10 до 10, введите следующую формулу:
=СЛУЧМЕЖДУ(-10; 10)
Функция СЛУЧМЕЖДУ доступна в Excel 2019 — 2007. В более ранних версиях вы можете использовать формулу СЛЧИС, рассмотренную нами выше.
Далее в этом руководстве вы найдете еще несколько примеров формул, демонстрирующих, как использовать функцию СЛУЧМЕЖДУ для записи случайных значений, отличных от целых.
Как создавать случайные числа с нужным количеством десятичных знаков.
Хотя функция СЛУЧМЕЖДУ в Excel была разработана для возврата целых чисел, вы можете заставить ее возвращать случайные десятичные числа с любым количеством знаков после запятой.
Например, чтобы получить список чисел с одним десятичным знаком, вы умножаете нижнее и верхнее значения на 10, а затем делите возвращаемое значение на 10:
СЛУЧМЕЖДУ( нижнее значение * 10; верхнее значение * 10) / 10
Следующая формула СЛУЧМЕЖДУ() возвращает случайные десятичные числа от 1 до 50:
=СЛУЧМЕЖДУ(1*10; 50*10)/10
Однако, обратите внимание, что среди полученных результатов встречаются и значения без десятых, то есть десятичный знак может быть равен нулю.
Аналогичным образом, чтобы выдать случайные числа от 1 до 50 с двумя десятичными знаками, вы умножаете аргументы функции СЛУЧМЕЖДУ на 100, а затем также делите результат на 100:
=СЛУЧМЕЖДУ(1*100; 50*100) / 100
Как получить случайные даты в Excel
Как вы знаете, даты в Excel представляют собой числа. Поэтому рассматриваемые нами подходы вполне применимы и к ним.
Чтобы вернуть список произвольных дат в каком-то временном интервале, используйте функцию СЛУЧМЕЖДУ в сочетании с ДАТАЗНАЧ:
СЛУЧМЕЖДУ(ДАТАЗНАЧ( дата начала ), ДАТАЗНАЧ( дата окончания ))
Например, чтобы получить список дат с 1 июня 2015 года по 30 июня 2015 года включительно, введите следующую формулу в свой рабочий лист:
=СЛУЧМЕЖДУ(ДАТАЗНАЧ(«1-Июл-2021»); ДАТАЗНАЧ(«31-Авг-2021»))
В качестве альтернативы вы можете использовать функцию ДАТА:
=СЛУЧМЕЖДУ(ДАТА(2021,7,1),ДАТА(2021,8,31))
Не забудьте применить формат даты, и вы получите список случайных дат, подобный этому:
Для некоторых дополнительных опций, таких как получение списка будних или выходных дней, можно использовать расширенный генератор случайных чисел и дат .
Как вставить случайное время в Excel
Учитывая, что во внутренней системе Excel время хранится как десятичное число от 0 до 1, вы можете использовать стандартную функцию Excel СЛЧИС для вставки случайных действительных чисел, а затем просто применить формат времени к этим ячейкам:
Чтобы вернуть случайное время в соответствии с вашими критериями, требуются более сложные формулы, как показано ниже.
Случайное время в указанном интервале.
Чтобы вставить случайное время между любыми двумя указанными вами значениями времени, используйте функцию ВРЕМЯ() или ВРЕМЗНАЧ() вместе с СЛЧИС():
ВРЕМЯ( время начала ) + СЛЧИС() * (ВРЕМЯ( время начала ) — ВРЕМЯ( время окончания ))
или
ВРЕМЗНАЧ ( время начала ) + СЛЧИС () * (ВРЕМЗНАЧ ( время начала ) — ВРЕМЗНАЧ ( время окончания ))
Например, чтобы вставить время между 6:00 и 20:30, вы можете использовать любую из следующих формул:
=ВРЕМЯ(6;0;0) + СЛЧИС() * (ВРЕМЯ(20;30;0) — ВРЕМЯ(6;0;0))
=ВРЕМЗНАЧ(«6:00:00») + СЛЧИС() * (ВРЕМЗНАЧ(«20:30:00») — ВРЕМЗНАЧ(«6:00:00»))
Случайные дата и время.
Чтобы создать список случайных дат и времени, используйте комбинации функций СЛУЧМЕЖДУ и ДАТАЗНАЧ:
СЛУЧМЕЖДУ(ДАТАЗНАЧ( начальная дата) ; ДАТАЗНАЧ( конечная дата )) + СЛУЧМЕЖДУ(ВРЕМЗНАЧ( время начала ) * 10000; ВРЕМЗНАЧ( время окончания ) * 10000) / 10000
Предположим, вы хотите вставить произвольные даты между 1 июня 2021 года и 31 августа того же года со временем между 8:30 и 17:00. Следующая формула подойдет для вас:
=СЛУЧМЕЖДУ(ДАТАЗНАЧ(«1-июн-2021»); ДАТАЗНАЧ(«31-авг-2021»)) + СЛУЧМЕЖДУ(ВРЕМЗНАЧ(«8:30») * 10000; ВРЕМЗНАЧ(«17:00») * 10000) / 10000
Вы также можете указать дату и время, используя функции ДАТА и ВРЕМЯ соответственно:
=СЛУЧМЕЖДУ(ДАТА(2021;6;1); ДАТА(2021;8;31)) + СЛУЧМЕЖДУ(ВРЕМЯ(8;30;0) * 10000; ВРЕМЯ(17;0;0) * 10000) / 10000
Выбирайте тот вариант, который больше подходит для вашей задачи.
Как получить случайные буквы в Excel
Чтобы вернуть случайную букву, требуется комбинация трех разных функций:
=СИМВОЛ(СЛУЧМЕЖДУ(КОДСИМВ(«А»);КОДСИМВ(«Я»)))
Где A — первый символ, а Я — последний символ в диапазоне букв, который вы хотите использовать (в алфавитном порядке).
В приведенной выше формуле:
- КОДСИМВ() возвращает коды ANSI для указанных букв.
- СЛУЧМЕЖДУ() принимает код, возвращаемый функцией КОДСИМВ, как нижнее и верхнее значения диапазона.
- СИМВОЛ() преобразует коды ANSI, возвращаемые СЛУЧМЕЖДУ, в соответствующие буквы.
Примечание. Так как код ANSI различный для прописных и строчных букв, эта формула чувствительна к регистру.
Если кто-то помнит таблицу кодов символов ANSI, ничто не мешает вам передать коды букв непосредственно в функцию СЛУЧМЕЖДУ.
Например, чтобы получить заглавные буквы между A (код ANSI 192) и Я (код ANSI 223), вы пишете:
=СИМВОЛ(СЛУЧМЕЖДУ(192;223))
Чтобы получить строчные буквы от а (код ANSI 224) до я (код ANSI 255), используйте следующую формулу:
=СИМВОЛ(СЛУЧМЕЖДУ(224;255))
Коды символов:
- 192-223 — прописные буквы А-Я
- 224-255 — строчные буквы а-я
Чтобы вставить случайный специальный символ, например, ! «# $% & ‘() * +, -. /, используйте функцию СЛУЧМЕЖДУ с первым параметром, установленным на 33 (код ANSI для «!’), и вторым параметром 47 (код ANSI для «/»).
=СИМВОЛ(СЛУЧМЕЖДУ(33;47))
Создание текстовых строк и паролей в Excel
Чтобы создать произвольную текстовую строку в Excel, вам просто нужно объединить несколько функций СИМВОЛ и СЛУЧМЕЖДУ.
Например, чтобы получить список паролей, состоящих из 4 символов, вы можете использовать формулу, подобную этой:
=СЛУЧМЕЖДУ(0;9) & СИМВОЛ(СЛУЧМЕЖДУ(65;90)) & СИМВОЛ(СЛУЧМЕЖДУ(97; 122)) & СИМВОЛ(СЛУЧМЕЖДУ(33;47))
Чтобы сделать запись более компактной, я ввел коды ANSI непосредственно в формулу. Четыре функции возвращают следующие случайные значения:
- СЛУЧМЕЖДУ(0;9) — возвращает числа от 0 до 9.
- СИМВОЛ(СЛУЧМЕЖДУ(65;90)) —прописные буквы от A до Z.
- СИМВОЛ(СЛУЧМЕЖДУ(97; 122)) — получаем строчные буквы от a до z.
- СИМВОЛ(СЛУЧМЕЖДУ(33;47)) — добавляем специальные символы.
Текстовые строки, полученные с помощью приведенной выше формулы, будут иметь вид « 4Np# » или « 2Yu& ».
Внимание! Если вы используете аналогичную формулу для создания случайных паролей, они не будут слишком надежными. Конечно, вы можете создавать более длинные текстовые строки, связывая больше функций. Однако невозможно изменить порядок следования, т.е. первая по счёту функция всегда возвращает цифру, вторая функция возвращает заглавную букву и так далее.
Если вы ищете расширенный генератор случайных паролей в Excel, способный создавать текстовые строки любой длины и шаблона, вы можете проверить возможности Advanced Random Generator для тестовых строк.
Кроме того, имейте в виду, что текстовые строки, созданные с помощью приведенной выше формулы, будут изменяться каждый раз, когда ваш рабочий лист пересчитывается. А это автоматически происходит после ввода либо корректировки любого значения либо формулы на листе.
Чтобы гарантировать, что ваши строки или пароли остаются неизменными после их создания, вам нужно будет заблокировать функцию СЛУЧМЕЖДУ от обновления значений, что подводит нас непосредственно к следующему разделу.
Как предотвратить постоянный пересчет формул СЛЧИС и СЛУЧМЕЖДУ.
Если вы хотите получить постоянный набор чисел, дат или текстовых строк, который не будет меняться каждый раз при пересчете таблицы, используйте один из следующих методов:
- Чтобы функции СЛЧИС или СЛУЧМЕЖДУ не пересчитывались в одной определённой ячейке, выберите её, переключитесь на строку формул и нажмите клавишу
F9
, чтобы заменить формулу ее значением. - Чтобы предотвратить пересчет, используйте инструмент Специальная вставка. Выделите все ячейки с формулой, нажмите
Ctrl + C
, чтобы скопировать их в буфер обмена. Затем щелкните правой кнопкой мыши выбранный диапазон и выберите Специальная вставка > Значения. Или же можете нажатьShift + F10 а потом V
, что также позволит вставить ранее скопированные значения вместо формул. - Можно использовать специальный инструмент преобразования формул в значения, который является составной частью надстройки Ultimate Suite.
Как создать уникальные случайные числа в Excel
Ни одна из случайных функций Excel не умеет создавать уникальные случайные значения. Совпадения всегда возможны, особенно если вы получаете целые числа, используя округление. Если вы хотите создать список без дубликатов , выполните следующие действия:
- Используйте функцию СЛЧИС или СЛУЧМЕЖДУ для создания списка чисел. Создайте больше значений, чем вам действительно нужно, потому что некоторые из них будут дублироваться и будут удалены позже.
- Преобразуйте формулы в значения, как описано выше.
- Удалите повторяющиеся значения с помощью встроенного инструмента Excel (см. Как удалить дубликаты в Excel) или специального инструмента для удаления дубликатов в Excel.
Также вы можете воспользоваться специальным генератором случайных значений в Excel, в котором есть опция получения случайных цифровых и текстовых значений. Более подробно читайте о нем по этой ссылке.