Случайные данные в Excel: генерация случайных чисел, текстов, дат и времени в Excel
Случайные данные в Excel: генерация случайных чисел, текстов, дат и времени в Excel
В целом, случайные данные — это последовательности чисел, текстовых строк или других символов, которые используются в статистической выборке, шифровании данных, лотереях, тестировании или обучении, а также в других областях, где необходимы непредсказуемые результаты. В этой статье мы рассмотрим различные способы генерации случайных чисел, текстовых строк, дат и времени как в стандартном Excel, так и в Excel365.
Содержание:
1. Генерация случайных чисел, текстов, дат, времени в Excel
2. Генерация случайных чисел, текстов, дат в Excel365 /2021 и более новых версиях
3. Как зафиксировать случайные результаты, чтобы они не изменялись
Генерация случайных чисел, текстов, дат, времени в Excel
В этом разделе рассматриваются различные решения для генерации чисел, текстовых строк, дат и времени на листе Excel.
1.1 Генерация случайных чисел в Excel
Чтобы сгенерировать или вставить несколько случайных чисел на листе, стандартные функции RAND или RANDBETWEEN могут значительно упростить задачу. Помимо формул, существуют также коды и простые инструменты, которые помогут вам в этом.
Функция RAND для генерации случайных чисел
Генерация случайных десятичных чисел между двумя числами
Функция RAND позволяет генерировать случайные десятичные числа между0 и1, между0 и любым другим числом или между двумя конкретными числами.
Формула | Описание |
=RAND() | Генерирует случайные десятичные числа между0 и1. |
=RAND()*N | Генерирует случайные десятичные числа между0 и N. |
=RAND()*(B-A)+A | Генерирует случайные десятичные числа между любыми двумя указанными вами числами. (A — это нижняя граница, B — верхняя граница.) |
Скопируйте нужную формулу выше и примените ее к нужному количеству ячеек — вы получите результат, как показано на скриншотах ниже:
=RAND() | =RAND()*50 | =RAND()*(100-50)+50 |
![]() | ![]() | ![]() |
Генерация случайных целых чисел между двумя числами
Чтобы сгенерировать случайные целые числа, объедините функции RAND и INT, как показано в таблице ниже:
Формула | Описание |
=INT(RAND()*N) | Генерирует случайные целые числа между0 и N. |
=INT(RAND()*(B-A)+A) | Генерирует случайные целые числа между любыми двумя указанными вами числами. (A — это нижняя граница, B — верхняя граница.) |
Примените нужную формулу, затем перетащите и скопируйте ее в другие ячейки по необходимости — результат будет, как показано на скриншотах ниже:
=INT(RAND()*100) | =INT(RAND()*(500-200)+200) |
![]() | ![]() |
Функция RANDBETWEEN для генерации случайных чисел
В Excel есть функция RANDBETWEEN, которая также позволяет быстро и просто создавать случайные числа.
Генерация случайных целых чисел между двумя числами
- bottom, top: минимальное и максимальное значения диапазона случайных чисел, который вы хотите получить.
Например, чтобы сгенерировать случайные целые числа от100 до200, примените формулу ниже в пустую ячейку, затем перетащите и скопируйте формулу в другие нужные ячейки, см. скриншот:
Совет: функция RANDBETWEEN также может создавать как положительные, так и отрицательные числа. Чтобы вставить случайные числа от -100 до100, просто измените значение bottom на -100, см. формулу ниже:
Генерация случайных чисел с заданным количеством знаков после запятой между двумя числами
Чтобы создать случайные числа с определенным количеством знаков после запятой, измените формулу RANDBETWEEN следующим образом:
- Случайные числа с одним знаком после запятой: =RANDBETWEEN(bottom*10, top*10)/10
- Случайные числа с двумя знаками после запятой: =RANDBETWEEN(bottom*100, top*100)/100
- Случайные числа с тремя знаками после запятой: =RANDBETWEEN(bottom*1000, top*1000)/1000
- ...
Здесь я хочу получить список случайных чисел от10 до50 с двумя знаками после запятой. Примените формулу ниже и перетащите ее в другие ячейки по необходимости, см. скриншот:
Пользовательская функция для генерации случайных чисел между двумя значениями
Следующая пользовательская функция также поможет сгенерировать случайные целые числа или числа с определенным количеством знаков после запятой в диапазоне листа. Выполните следующие действия:
1. Удерживайте клавиши ALT + F11, чтобы открыть окно Microsoft Visual Basic for Applications.
2. Нажмите Вставка > Модуль и вставьте следующий код в окно модуля.
VBA-код: Генерация случайных чисел
Public Function RandomNumbers(Num1 As Long, Num2 As Long, Optional Decimals As Integer)
'Updateby Extendoffice
Application.Volatile
Randomize
If IsMissing(Decimals) Or Decimals = 0 Then
RandomNumbers = Int((Num2 + 1 - Num1) * Rnd + Num1)
Else
RandomNumbers = Round((Num2 - Num1) * Rnd + Num1, Decimals)
End If
End Function
3. Затем закройте код и вернитесь на лист, в пустой ячейке введите формулу =RandomNumbers(X,Y,Z).
Примечание: В приведенной выше формуле X — это нижний предел чисел, Y — верхний предел, а Z — количество знаков после запятой для случайных чисел. Измените их на нужные вам значения.
1.) Чтобы сгенерировать случайные целые числа от50 до200, используйте формулу:
2.) Чтобы вставить случайные числа от50 до200 с двумя знаками после запятой, примените формулу ниже:
4. В конце перетащите и скопируйте формулу в другие ячейки по необходимости — результат будет, как показано на скриншотах ниже:
![]() | ![]() |
Удобная функция для генерации случайных чисел между двумя числами
Если вам надоело запоминать и вводить формулы, рекомендую воспользоваться удобной функцией — Вставить случайные данные Kutools для Excel. С помощью этой функции вы сможете генерировать случайные целые или десятичные числа без формул.
Kutools для Excel - Наполнен более чем 300 необходимыми инструментами для Excel. Воспользуйтесь постоянно бесплатными функциями ИИ! Скачайте прямо сейчас!
1. Выделите диапазон ячеек, в которых хотите сгенерировать случайные числа, затем нажмите Kutools > Вставка > Вставить случайные данные, см. скриншот:
2. В диалоговом окне Вставить случайные данные:
1.) Генерация случайных целых чисел:
На вкладке Целое число в полях От и До укажите диапазон чисел, между которыми будут сгенерированы случайные целые числа, затем нажмите ОК или Применить, чтобы получить результат, как показано на скриншоте ниже:
2.) Генерация случайных чисел с определенным количеством знаков после запятой:
На вкладке Десятичное число отдельно укажите два числа в полях От и До, между которыми вы хотите сгенерировать случайные десятичные числа. Затем выберите количество знаков после запятой в поле Десятичные знаки и нажмите ОК или Применить для генерации случайных чисел. См. скриншот:
Совет: Чтобы сгенерировать случайные десятичные числа без повторов, установите флажок Сгенерировать уникальные значения.
1.2 Генерация случайных чисел без повторов (уникальные случайные числа)
При использовании формул или кода для генерации случайных чисел могут появляться дубликаты. Если вы хотите создать список случайных чисел без повторов, в этом разделе показаны несколько способов решения задачи.
Генерация случайных чисел без повторов с помощью формулы массива
Например, я хочу сгенерировать случайные числа от100 до200 без повторов. Вот сложная формула массива, которая поможет вам — выполните следующие шаги:
1. Укажите нижнее и верхнее значения в двух ячейках. В этом примере я введу100 и200 в ячейки B2 и B3, см. скриншот:
2. Затем скопируйте следующую формулу в пустую ячейку, например D3 (не вставляйте формулу в ячейку первой строки), и нажмите Ctrl+ Shift + Enter, чтобы получить первое число, см. скриншот:
Примечание: В формуле выше B1 — нижнее значение, B2 — верхнее значение, между которыми вы хотите получить случайные числа. D2 — ячейка над формулой.
3. Затем перетащите и скопируйте формулу в другие ячейки, чтобы сгенерировать случайные числа от100 до200:
Генерация случайных чисел без повторов с помощью VBA-кода
Если формула выше кажется вам сложной, воспользуйтесь приведенным ниже VBA-кодом — выполните следующие действия:
1. Удерживайте клавиши ALT + F11, чтобы открыть окно Microsoft Visual Basic for Applications.
2. Нажмите Вставка > Модуль и вставьте следующий код в окно модуля.
VBA-код: Генерация случайных чисел без повторов
Sub Range_RandomNumber()
'Updateby Extendoffice
Dim xStrRange As String
Dim xRg, xCell, xRg1 As Range
Dim xArs As Areas
Dim xNum_Lowerbound As Integer
Dim xNum_Upperbound As Integer
Dim xI, xJ, xS, xR As Integer
xStrRange = "A1:B20"
xNum_Lowerbound = 100
xNum_Upperbound = 200
Set xRg = Range(xStrRange)
Set xArs = xRg.Areas
xRgCount = 0
For xI = 1 To xArs.Count
Set xCell = xArs.Item(xI)
xRgCount = xCell.Count + xRgCount
Next xI
xS = (xNum_Upperbound - xNum_Lowerbound + 1)
If xRgCount > xS Then
MsgBox ("Number of cells greater than the number of unique random numbers!")
Exit Sub
End If
xRg.Clear
For xI = 1 To xArs.Count
Set xCell = xArs.Item(xI)
For xJ = 1 To xCell.Count
Set xRg1 = xCell.Item(xJ)
xR = Int(xS * Rnd + xNum_Lowerbound)
Do While Application.WorksheetFunction.CountIf(xRg, xR) >= 1
xR = Int(xS * Rnd + xNum_Lowerbound)
Loop
xRg1.Value = xR
Next
Next
End Sub
Примечание: В приведенном выше коде xStrRange = "A1:B20" означает, что вы хотите сгенерировать случайные числа в диапазоне A1:B20. xNum_Lowerbound = 100 и xNum_Upperbound = 200 — это нижнее и верхнее значения для генерации случайных чисел от100 до200. Измените их по своему усмотрению.
3. Затем нажмите клавишу F5 для запуска кода, и уникальные случайные числа будут вставлены в указанный диапазон.
Генерация случайных чисел без повторов с помощью мощной функции
Чтобы быстро создать несколько уникальных случайных чисел, функция Вставить случайные данные Kutools для Excel поддерживает умную опцию — Сгенерировать уникальные значения. Просто установите этот флажок, и задача будет решена легко.
1. Выделите диапазон ячеек, в которых хотите сгенерировать случайные числа.
2. Затем нажмите Kutools > Вставка > Вставить случайные данные. В появившемся диалоговом окне выполните следующие действия:
- На вкладке Целое число в полях От и До укажите диапазон чисел, между которыми будут сгенерированы случайные числа;
- Установите флажок Сгенерировать уникальные значения;
- Затем нажмите ОК или Применить, чтобы получить уникальные случайные числа, как показано на скриншоте ниже.
1.3 Генерация случайных четных или нечетных чисел в Excel
Если вы хотите сгенерировать случайные четные или нечетные числа в диапазоне ячеек, просто вложите функцию RANDBETWEEN в функцию EVEN или ODD. Общий синтаксис:
Формула | Описание |
=EVEN(RANDBETWEEN(bottom,top)) | Генерирует случайные четные числа между двумя заданными числами. |
=ODD(RANDBETWEEN(bottom,top)) | Генерирует случайные нечетные числа между двумя заданными числами. |
Например, чтобы сгенерировать случайные четные или нечетные числа от10 до100, используйте следующие формулы:
=ODD(RANDBETWEEN(10,100)) (Генерирует случайные нечетные числа)
Затем скопируйте формулу в другие нужные ячейки, перетянув маркер заполнения — результат будет, как показано на скриншотах ниже:
![]() | ![]() |
1.4 Генерация случайных чисел, сумма которых равна заданному значению
Иногда требуется создать набор случайных чисел, сумма которых равна заранее определенному значению. Например, я хочу сгенерировать5 или n случайных чисел от10 до50, чтобы их сумма была100, как показано на скриншоте ниже. Для решения этой задачи в Excel я расскажу о двух способах.
Генерация случайных чисел, сумма которых равна определенному значению, с помощью формул
В этом случае помогут следующие формулы. Следуйте инструкции шаг за шагом, так как они немного сложные:
1. Сначала создайте необходимые данные: заданное итоговое значение, начальное и конечное число, а также количество случайных чисел, которые нужно сгенерировать, как показано на скриншоте ниже:
2. Затем скопируйте формулу ниже в пустую ячейку, где хотите сгенерировать числа. В этом примере формула будет в ячейке A4, нажмите Enter для получения первого случайного числа, см. скриншот:
Примечание: В формуле выше A2 — итоговое значение, B2 и C2 — нижнее и верхнее значения для генерации случайных чисел, D2 — количество случайных чисел, которые нужно сгенерировать, A4 — ячейка для ввода формулы.
3. Далее скопируйте следующую формулу в ячейку A5 и нажмите Enter, чтобы получить второе случайное число, см. скриншот:
Примечание: В формуле выше A2 — итоговое значение, B2 и C2 — нижнее и верхнее значения для генерации случайных чисел, D2 — количество случайных чисел, которые нужно сгенерировать, A4 — ячейка для первой формулы, A5 — ячейка для второй формулы.
4. Затем выделите второе сгенерированное число, перетащите вниз, чтобы скопировать формулу еще в три ячейки. Теперь вы получите5 случайных чисел, как показано на скриншоте ниже:
5. Чтобы проверить результат, сложите эти числа — сумма должна быть100. Нажмите F9 для обновления случайных чисел, их сумма всегда будет равна100.
Генерация комбинаций случайных чисел, сумма которых равна определенному значению, с помощью удобной функции
С помощью приведенных выше формул можно сгенерировать случайные числа, соответствующие вашим требованиям. Если же вы хотите получить все возможные комбинации чисел из заданного набора с определенной суммой, рекомендую воспользоваться инструментом Kutools для Excel. С помощью функции Создать числа вы получите все наборы комбинаций случайных чисел с одинаковой суммой.
1. Сначала перечислите нужные числа. Здесь мы указали все числа от10 до50, как показано на скриншоте ниже:
2. Затем нажмите Kutools > Текст > Создать числа, см. скриншот:
3. В появившемся диалоговом окне Создать числа выполните следующие действия:
- В поле Исходный диапазон выберите список чисел, среди которых нужно найти те, сумма которых равна100;
- В разделе Опции введите итоговое значение в поле Сумма. Здесь мы ввели100;
- Установите флажок Сохранить в новом листе, если хотите вывести результат на новый лист;
- Нажмите кнопку OK. См. скриншот:
4. После обработки вы увидите все наборы случайных чисел с общей суммой100, состоящие из чисел от10 до50, как показано ниже.
Совет: Вы можете дополнительно указать количество комбинаций и количество случайных чисел в каждой комбинации. Например, чтобы сгенерировать10 комбинаций по5 случайных чисел, настройте параметры в диалоговом окне в разделе Расширенные настройки следующим образом:
В результате вы получите следующий результат:
1.5 Генерация случайных букв и текстовых строк с помощью формул
В этом разделе показано, как сгенерировать случайные буквы в Excel, например, прописные буквы от A до Z, строчные буквы от a до z или некоторые специальные символы (! " # $ % & ' ( ) * + , - . /).
Генерация случайных букв и текстовых строк с помощью формул
В Excel можно объединить функции CHAR и RANDBETWEEN с некоторыми ANSI-кодами символов для создания формул, как показано ниже:
Формула | Описание |
=CHAR(RANDBETWEEN(65,90)) | Генерирует случайные прописные буквы от A до Z. |
=CHAR(RANDBETWEEN(97,122)) | Генерирует случайные строчные буквы от a до z. |
=CHAR(RANDBETWEEN(33,47)) | Генерирует случайные специальные символы, такие как: ! " # $ % & ' ( ) * + , - . / |
Примените любую из приведенных выше формул по необходимости и скопируйте ее в нужное количество ячеек — результат будет, как показано на скриншотах ниже:
=CHAR(RANDBETWEEN(65,90)) | =CHAR(RANDBETWEEN(97,122)) | =CHAR(RANDBETWEEN(33,47)) |
![]() | ![]() | ![]() |
Совет: Если вы хотите сгенерировать случайные текстовые строки из нескольких букв, просто используйте символ & для объединения букв в нужном количестве.
1.) Чтобы сгенерировать случайную строку из четырех прописных букв, используйте формулу ниже:
2.) Чтобы сгенерировать случайную строку из четырех строчных букв, используйте формулу ниже:
3.) Чтобы сгенерировать строку, где первые две буквы прописные, а последние две — строчные, используйте формулу ниже:
Вы можете использовать простые формулы и символ & для создания различных комбинаций по вашему желанию.
Генерация случайных букв и текстовых строк с помощью удобной функции
Если у вас установлен Kutools для Excel, вы сможете быстро и легко сгенерировать случайные буквы и строки без необходимости запоминать формулы.
1. Выделите диапазон ячеек для вставки букв или строк.
2. Затем нажмите Kutools > Вставка > Вставить случайные данные, в появившемся диалоговом окне выполните следующие действия:
- Перейдите на вкладку Строка;
- Отметьте a-z или A-Z, или оба варианта, которые вы хотите вставить;
- Затем укажите длину строки в поле Длина;
- В конце нажмите ОК или Применить, чтобы вставить строки, как показано на скриншоте ниже.
1.6 Генерация случайных паролей с буквенно-цифровыми символами в Excel
При создании пароля он должен содержать не менее8 символов и включать прописные и строчные буквы, цифры и специальные символы. В этом разделе я расскажу о некоторых приемах генерации случайных паролей в Excel.
Генерация случайных паролей с буквенно-цифровыми символами с помощью формул
Например, здесь я создам случайные пароли длиной8 символов. Просто объедините три формулы, приведенные в разделе Генерация случайных букв и текстовых строк с помощью формул.
Скопируйте формулу ниже в пустую ячейку:
Примечание: В формуле выше первая пара функций CHAR и RANDBETWEEN генерирует случайную прописную букву, вторая и третья — две строчные буквы, четвертая — еще одну прописную букву, пятая — трехзначное число от100 до999, последняя — специальный символ. Вы можете изменить порядок или состав по своему усмотрению.
Генерация случайных паролей с буквенно-цифровыми символами с помощью пользовательской функции
Чтобы вставить случайные пароли в Excel, используйте следующую пользовательскую функцию — выполните следующие действия:
1. Удерживайте клавиши ALT + F11, чтобы открыть окно Microsoft Visual Basic for Applications.
2. Нажмите Вставка > Модуль и вставьте следующий макрос в окно модуля.
VBA-код: Генерация случайных паролей в Excel
Function RandomizeF(Num1 As Integer, Num2 As Integer)
'Updateby Extendoffice
Dim Rand As String
Application.Volatile
getLen = Int((Num2 + 1 - Num1) * Rnd + Num1)
Do
i = i + 1
Randomize
Rand = Rand & Chr(Int((85) * Rnd + 38))
Loop Until i = getLen
RandomizeF = Rand
End Function
3. Затем закройте код и вернитесь на лист. В ячейке введите формулу =RandomizeF(8,10), чтобы сгенерировать случайную строку длиной от8 до10 символов.
4. Затем перетащите и скопируйте формулу в другие ячейки по необходимости. Будут созданы случайные строки с буквенно-цифровыми и специальными символами длиной от8 до10 символов. См. скриншот:
Генерация случайных паролей с буквенно-цифровыми символами с помощью простой функции
Есть ли быстрый и простой способ сгенерировать несколько случайных паролей в Excel? Kutools для Excel предлагает отличную функцию — Вставить случайные данные. С ее помощью вы сможете вставить случайные пароли всего за несколько кликов.
1. Выделите диапазон ячеек для вставки паролей.
2. Затем нажмите Kutools > Вставка > Вставить случайные данные. В появившемся диалоговом окне выполните следующие действия:
- Перейдите на вкладку Строка;
- Отметьте нужные типы символов;
- Затем укажите длину пароля в поле Длина;
- В конце нажмите ОК или Применить, чтобы сгенерировать пароли, как показано на скриншоте ниже.
1.7 Генерация случайных заданных текстов в Excel
Пробовали ли вы когда-нибудь случайным образом отображать или перечислять определенные текстовые значения в Excel? Например, чтобы случайно распределить заданные тексты (item1, item2, item3, item4, item5) по списку ячеек, воспользуйтесь одним из двух способов ниже.
Генерация случайных заданных текстов с помощью формулы
В Excel можно создать формулу на основе функций CHOOSE и RANDBETWEEN для случайного распределения заданных текстов. Общий синтаксис:
- Value_1, Value_2, Value_3, Value_n : представляют текстовые значения, которые вы хотите случайно распределить;
- n : количество текстовых значений, которые вы хотите использовать.
Примените формулу ниже в пустую ячейку, затем перетащите маркер заполнения вниз, чтобы заполнить ячейки случайными значениями, см. скриншот:
Генерация случайных заданных текстов с помощью быстрого метода
Если у вас есть Kutools для Excel, функция Вставить случайные данные также поможет случайным образом вставить пользовательские текстовые значения в диапазон ячеек.
1. Выделите диапазон ячеек для вставки заданных текстов.
2. Затем нажмите Kutools > Вставка > Вставить случайные данные, в появившемся диалоговом окне выполните следующие действия:
- Перейдите на вкладку Пользовательский список;
- Затем нажмите
кнопку, чтобы открыть другое Kutools for Excel диалоговое окно, введите или выберите свои пользовательские текстовые значения, которые вы хотите случайно распределить. (При ручном вводе значения должны быть разделены запятыми.)
3. Затем нажмите ОК для возврата в диалог Вставить случайные данные, ваш пользовательский список текстов появится в списке. Теперь выберите новые элементы списка, нажмите ОК или Применить, чтобы случайно вставить значения в выделенные ячейки.
Совет: Чтобы случайно распределить заданные тексты без повторов, установите флажок Сгенерировать уникальные значения.
1.8 Генерация или выбор случайных значений из списка в Excel
Предположим, у вас есть длинный список имен, и вы хотите выбрать из него несколько случайных имен для розыгрыша или исследования, как показано на скриншоте ниже. Как это сделать в Excel?
Генерация случайных значений из списка с помощью функций INDEX, RANDBETWEEN и ROWS
В Excel нет прямого способа выбрать случайные значения из списка, но можно создать формулу на основе функций INDEX, RANDBETWEEN и ROWS для извлечения случайных значений.
1. Скопируйте формулу ниже в пустую ячейку, где хотите получить извлеченное значение:
Примечание: В формуле выше A2:A12 — список значений, из которого вы хотите выбрать случайные значения.
2. Затем перетащите маркер заполнения вниз на нужное количество ячеек, чтобы отобразить случайные значения — результат будет, как показано на скриншоте:
Генерация случайных значений из списка без повторов с помощью функций INDEX, RANK.EQ
При использовании формулы выше могут появляться дубликаты. Чтобы избежать повторов, сначала создайте вспомогательный столбец, затем примените формулу на основе функций INDEX и RANK.EQ. Выполните следующие действия:
1. Введите формулу ниже в пустую ячейку для получения списка случайных чисел, см. скриншот:
2. Затем скопируйте формулу ниже в ячейку другого столбца, где хотите извлечь случайные значения, и перетащите ее вниз, чтобы отобразить несколько уникальных случайных значений, см. скриншот:
Примечание: В формуле выше A2:A12 — список значений, из которого вы хотите получить случайные значения, B2 — первая ячейка вспомогательного столбца, B2:B12 — ячейки с формулой из шага1.
Выбор случайных ячеек, строк, столбцов из диапазона с помощью отличной функции
Здесь я рекомендую удобную функцию — Сортировать, выбирать или случайно перемешивать Kutools для Excel. С ее помощью вы сможете выбрать случайные ячейки, строки или столбцы по необходимости.
1. Выделите список ячеек, из которых хотите выбрать случайные значения.
2. Затем нажмите Kutools > Диапазон > Сортировать, выбирать или случайно перемешивать, см. скриншот:
3. В диалоговом окне Сортировать, выбирать или случайно перемешивать выполните следующие действия:
- Перейдите на вкладку Выбрать;
- Затем в поле Количество выбираемых ячеек для выбора укажите, сколько ячеек нужно выбрать случайным образом;
- В разделе Тип выбора выберите нужную операцию. В данном случае выберите опцию Ячейка.
- Затем нажмите ОК или Применить — пять ячеек будут выбраны случайным образом, см. скриншоты:
4. После выбора ячеек вы можете скопировать и вставить их в другие ячейки по необходимости.
1.9 Случайное распределение данных по группам в Excel
Допустим, у вас есть список имен, и вы хотите случайным образом разделить их на три группы (Группа A, Группа B, Группа C), как показано на скриншоте ниже. В этом разделе рассмотрим формулы для решения этой задачи в Excel.
Случайное распределение данных по группам с помощью формулы
Чтобы случайным образом распределить людей по заданным группам, используйте функцию CHOOSE в сочетании с функцией RANDBETWEEN.
1. Скопируйте или введите формулу ниже в ячейку, где хотите получить группу:
Примечание: В формуле выше Group A, Group B и Group C — это имена групп, которые вы хотите назначить, а число3 — количество групп для распределения.
2. Затем перетащите маркер заполнения, чтобы скопировать формулу в другие ячейки — имена будут разделены на три группы, как показано на скриншоте ниже:
Случайное распределение данных по группам с равным количеством с помощью формулы
Если вы хотите, чтобы во всех группах было одинаковое количество имен, формула выше не подойдет. В этом случае создайте вспомогательный столбец со случайными значениями с помощью функции RAND, затем примените формулу на основе функций INDEX, RANK и ROUNDUP.
Например, я перечислил имена групп в ячейках F2:F4. Чтобы распределить людей по группам (Группа A, Группа B, Группа C), и в каждой группе было по4 участника, выполните следующие действия:
1. Введите формулу: =RAND() в пустую ячейку для получения списка случайных чисел, см. скриншот:
2. Затем в следующем столбце, например, в ячейке D2, скопируйте или введите формулу ниже:
Примечание: В формуле выше C2 — первая ячейка вспомогательного столбца, C2:C13 — ячейки с формулой из шага1, число4 — сколько имен должно быть в каждой группе, F2:F4 — диапазон ячеек с именами групп.
3. Перетащите маркер заполнения вниз, чтобы сгенерировать случайные группы для списка данных — имена будут равномерно распределены по группам, см. скриншот:
1.10 Генерация случайных дат в Excel
Чтобы сгенерировать произвольные даты между двумя заданными датами, я расскажу о нескольких способах.
Генерация случайных дат между двумя заданными датами с помощью формул
Например, я хочу случайным образом сгенерировать даты между2021-05-01 и2021-10-15. Обычно в Excel это можно сделать с помощью комбинации функций RANDBETWEEN и DATE — выполните следующие действия:
1. Выделите ячейку, куда хотите вставить случайную дату, и введите формулу:
Примечание: В этой формуле2021,5,1 — начальная дата, а2021,10,15 — конечная дата. Вы можете заменить их по необходимости.
2. Затем перетащите и скопируйте формулу в другие ячейки, которые хотите заполнить — в ячейках появятся пятизначные числа, как показано на скриншоте ниже:
3. Затем отформатируйте числа как даты. Выделите ячейки с формулой, щелкните правой кнопкой мыши и выберите Формат ячеек в контекстном меню.
4. В диалоговом окне Формат ячеек перейдите на вкладку Число, выберите Дата в списке Категория и выберите нужный формат даты в списке Тип. См. скриншот:
5. Нажмите OK для закрытия диалога. Теперь числа преобразованы в обычные даты. См. скриншот:
Совет: Чтобы сгенерировать случайные рабочие дни, исключая выходные, используйте формулу ниже:
Генерация случайных дат между двумя заданными датами с помощью удобной функции
Функция Вставить случайные данные Kutools для Excel также позволяет сгенерировать случайные даты, рабочие дни и выходные между двумя заданными датами.
1. Выделите диапазон ячеек для вставки случайных дат.
2. Затем нажмите Kutools > Вставка > Вставить случайные данные, в появившемся диалоговом окне выполните следующие действия:
- Перейдите на вкладку Дата;
- Затем укажите область дат. В этом примере я выберу с5/1/2021 по10/15/2021.
- Затем выберите тип даты — рабочий день, выходной или оба варианта по необходимости.
- В конце нажмите ОК или Применить, чтобы случайным образом сгенерировать даты, как показано на скриншоте ниже.
Совет: Чтобы сгенерировать уникальные случайные даты, установите флажок Сгенерировать уникальные значения.
1.11 Генерация случайного времени в Excel
После вставки случайных чисел, текстовых строк и дат в этом разделе я расскажу о приемах генерации случайного времени в Excel.
Генерация случайного времени с помощью формул
Генерация случайного времени с помощью формулы
Чтобы сгенерировать случайное время в диапазоне ячеек, используйте формулу на основе функций TEXT и RAND.
Введите формулу ниже в пустую ячейку, затем перетащите и скопируйте ее в другие ячейки, где хотите получить время, см. скриншот:
Генерация случайного времени между двумя заданными моментами с помощью формулы
Если нужно случайно вставить время между двумя определенными моментами, например, от10 до18 часов, используйте формулу ниже:
Примечание: В формуле выше число18 — это конечное время, а10 — начальное время. Вы можете изменить их по своему усмотрению.
Затем перетащите и скопируйте формулу в другие ячейки, чтобы сгенерировать случайное время между двумя диапазонами времени, см. скриншот:
Генерация случайного времени с определенным интервалом с помощью формулы
Например, если вы хотите сгенерировать случайное время с определенным интервалом, например, с шагом15 минут, используйте функции RAND и FLOOR внутри функции TEXT.
Скопируйте или введите формулу ниже в пустую ячейку, затем перетащите и скопируйте ее в нужные ячейки, см. скриншот:
Примечание: В формуле число15 — это интервал времени. Если нужно случайное время с интервалом30 минут, просто замените15 на30.
Генерация случайного времени между двумя заданными моментами с помощью удобной функции
Если у вас есть Kutools для Excel, функция Вставить случайные данные также поможет сгенерировать случайное время между заданными моментами на листе.
1. Выделите диапазон ячеек для генерации времени.
2. Затем нажмите Kutools > Вставка > Вставить случайные данные, в появившемся диалоговом окне выполните следующие действия:
- Перейдите на вкладку Время;
- Затем укажите диапазон времени. В этом примере я выберу с9:00 до16:30.
- В конце нажмите ОК или Применить, чтобы сгенерировать случайное время, как показано на скриншоте ниже.
Генерация случайных дат и времени между двумя датами с помощью формулы
Если вы хотите сгенерировать случайные даты и время одновременно, используйте формулу ниже.
1. Введите или скопируйте формулу ниже в ячейку, где хотите получить случайные дату и время:
Примечание: В формуле2021-10-1512:00:00 — конечная дата и время, а2021-1-19:00:00 — начальная дата и время. Вы можете изменить их по своему усмотрению.
2. Затем перетащите и скопируйте формулу в другие ячейки, где хотите отобразить случайные дату и время, см. скриншот:
Генерация случайных чисел, текстов, дат в Excel365 /2021 и более новых версиях
В этом разделе показано, как с помощью новой динамической функции массива RANDARRAY генерировать случайные числа, даты, выбирать случайные значения и случайно распределять данные по группам в Excel365, Excel2021 и будущих версиях.
Функция RANDARRAY возвращает массив случайных чисел между любыми двумя указанными вами числами.
Синтаксис функции RANDARRAY:
- rows (необязательно): количество строк случайных чисел для возврата; (если не указано, по умолчанию =1)
- columns (необязательно): количество столбцов случайных чисел для возврата; (если не указано, по умолчанию =1)
- min (необязательно): минимальное возвращаемое число; (если не указано, по умолчанию =0)
- max (необязательно): максимальное возвращаемое число; (если не указано, по умолчанию =1)
- integer (необязательно): возвращать целое или десятичное число. TRUE — целое число, FALSE — десятичное. (если не указано, по умолчанию =FALSE)
- 1. В функции RANDARRAY пять аргументов, все они необязательные. Если ни один не указан, функция вернет десятичное число от0 до1.
- 2. Если аргументы rows или columns — десятичные числа, они будут округлены до целого числа вниз (например,3.9 будет считаться как3).
- 3. Минимальное число должно быть меньше максимального, иначе будет возвращена ошибка #VALUE!.
- 4. Функция RANDARRAY возвращает массив, и если она возвращает несколько результатов на листе, они будут заполнять соседние ячейки.
2.1 Генерация случайных чисел в Excel365 /2021 и более новых версиях
Чтобы сгенерировать случайные целые или десятичные числа в Excel365, Excel2021 и будущих версиях, используйте новую функцию RANDARRAY.
Генерация случайных чисел между двумя числами с помощью формулы
Чтобы создать список случайных чисел в определенном диапазоне, примените одну из формул ниже:
Введите любую из формул ниже по необходимости и нажмите Enter для получения результата, см. скриншоты:
=RANDARRAY(6,4,50,200, FALSE) (Генерирует случайные десятичные числа от50 до200)
- 6: возвращает6 строк случайных чисел;
- 4: возвращает4 столбца случайных чисел;
- 50,200: минимальное и максимальное значения, между которыми нужно сгенерировать числа;
- TRUE: возвращает целые числа;
- FALSE: возвращает десятичные числа.
![]() | ![]() |
Генерация случайных чисел без повторов с помощью формул
При использовании обычной функции RANDARRAY для генерации случайных чисел могут появляться дубликаты. Чтобы избежать повторов, ниже приведены формулы для решения задачи.
Генерация списка уникальных случайных чисел
Чтобы случайным образом сгенерировать столбец или список уникальных чисел, используйте следующий общий синтаксис:
Случайные целые числа без повторов:
Случайные десятичные числа без повторов:
- n: количество значений, которые вы хотите сгенерировать;
- min: минимальное значение;
- max: максимальное значение.
Например, чтобы вставить список из8 случайных чисел от50 до100 без повторов, примените любую из формул ниже и нажмите Enter для получения результата:
=INDEX(UNIQUE(RANDARRAY(8^2,1,50,100, FALSE)), SEQUENCE(8))(Уникальные случайные десятичные числа)
- 8: возвращает8 случайных чисел;
- 50,100: минимальное и максимальное значения, между которыми нужно сгенерировать числа.
- TRUE: возвращает целые числа;
- FALSE: возвращает десятичные числа.
![]() | ![]() |
Генерация диапазона уникальных случайных чисел
Если нужно сгенерировать уникальные случайные числа в диапазоне ячеек, просто укажите количество строк и столбцов в функции SEQUENCE. Общий синтаксис:
Чтобы случайным образом сгенерировать столбец или список уникальных чисел, используйте следующий общий синтаксис:
Случайные целые числа без повторов:
Случайные десятичные числа без повторов:
- n: количество ячеек для вставки чисел, можно указать как количество строк * количество столбцов; например, для заполнения8 строк и3 столбцов используйте24^2.
- rows: количество строк для заполнения;
- columns: количество столбцов для заполнения;
- min: минимальное значение;
- max: максимальное значение.
Здесь я заполню диапазон из8 строк и3 столбцов уникальными случайными числами от50 до100 — используйте любую из формул ниже:
=INDEX(UNIQUE(RANDARRAY(24^2,1,50,100, FALSE)), SEQUENCE(8,3))(Уникальные случайные десятичные числа)
- 24: возвращает24 случайных числа, произведение8 и3 (строк*столбцов);
- 50,100: минимальные и максимальные значения, между которыми нужно сгенерировать числа;
- TRUE: возвращает целые числа;
- FALSE: возвращает десятичные числа.
![]() | ![]() |
2.2 Генерация случайных дат в Excel365 /2021 и более новых версиях
С помощью новой функции RANDARRAY вы также сможете быстро и легко сгенерировать несколько случайных дат или рабочих дней в Excel.
Генерация случайных дат между двумя датами с помощью формулы
Чтобы создать список случайных дат между двумя конкретными датами, используйте формулу ниже:
1. Введите формулу ниже в пустую ячейку для генерации случайных дат и нажмите Enter, чтобы получить список пятизначных чисел, см. скриншот:
- 10: возвращает10 строк случайных дат;
- 1: возвращает1 столбец случайных дат;
- B1, B2: ячейки с начальной и конечной датой, между которыми нужно сгенерировать даты.
2. Затем отформатируйте числа в обычный формат даты: выделите числа, щелкните правой кнопкой мыши и выберите Формат ячеек в контекстном меню. В появившемся диалоговом окне Формат ячеек выполните следующие действия:
- Перейдите на вкладку Число;
- Затем выберите Дата в списке Категория;
- Затем выберите нужный формат даты в списке Тип.
3. Затем нажмите кнопку OK — числа будут отформатированы как даты, см. скриншот:
Совет: Конечно, вы можете ввести начальную и конечную дату прямо в формулу, как показано ниже:
Генерация случайных рабочих дней между двумя датами с помощью формулы
Чтобы получить случайные рабочие дни в диапазоне ячеек, вложите функцию RANDARRAY в функцию WORKDAY.
1. Введите или скопируйте формулу ниже в пустую ячейку, затем нажмите Enter, чтобы получить список чисел, как показано на скриншоте ниже:
2. Затем отформатируйте числа в нужный формат даты в диалоговом окне Формат ячеек — вы получите формат даты, как показано на скриншоте ниже:
Совет: Вы также можете ввести начальную и конечную дату прямо в формулу, как показано ниже:
2.3 Генерация или получение случайных значений из списка в Excel365 /2021 и более новых версиях
В Excel365, Excel2021 и будущих версиях (например, Excel2024), если вы хотите сгенерировать или вернуть случайные значения из списка ячеек, в этом разделе приведены формулы для решения задачи.
Генерация или получение случайных значений из списка с помощью формулы
Для извлечения случайных значений из списка ячеек используйте функцию RANDARRAY вместе с функцией INDEX. Общий синтаксис:
- data: список значений, из которого вы хотите извлечь случайные элементы;
- n: количество случайных элементов, которые вы хотите извлечь.
Например, чтобы извлечь3 имени из списка имен A2:A12, используйте формулы ниже:
=INDEX(A2:A12, RANDARRAY(3,1,1, ROWS(A2:A12), TRUE)) (Ввести число напрямую)
Затем нажмите Enter, чтобы сразу получить3 случайных имени, см. скриншот:
Генерация или получение случайных значений из списка без повторов с помощью формулы
В формуле выше могут появляться дубликаты. Чтобы случайно выбрать значения из списка без повторов, используйте следующий общий синтаксис:
- data: список значений, из которого вы хотите извлечь случайные элементы;
- n: количество случайных элементов, которые вы хотите извлечь.
Если нужно вернуть5 случайных имен из списка A2:A12, введите или скопируйте одну из формул ниже:
=INDEX(SORTBY(A2:A12, RANDARRAY(ROWS(A2:A12))), SEQUENCE(5)) (Ввести число напрямую)
Затем нажмите Enter, чтобы получить5 случайных имен из списка A2:A12 без повторов, см. скриншот:
2.4 Генерация или выбор случайных строк из диапазона в Excel365 /2021 и более новых версиях
Иногда может понадобиться выбрать случайные строки из диапазона ячеек в Excel. Для этого ниже приведены формулы.
Генерация или выбор случайных строк из диапазона с помощью формулы
Общий синтаксис для генерации случайных строк из диапазона ячеек:
- data: диапазон ячеек, из которого вы хотите извлечь случайные строки;
- n: количество случайных строк, которые вы хотите извлечь;
- {1,2,3…}: номера столбцов для извлечения.
Чтобы извлечь3 строки данных из диапазона A2:C12, используйте любую из формул ниже:
=INDEX(A2:C12, RANDARRAY(3,1,1, ROWS(A2:C12), TRUE), {1,2,3}) (Ввести число напрямую)
Затем нажмите Enter, чтобы получить3 случайные строки данных из диапазона A2:C12, см. скриншот:
Генерация или выбор случайных строк из диапазона без повторов с помощью формулы
Аналогично, формула выше может возвращать дублирующиеся данные. Чтобы избежать повторов строк, используйте следующий общий синтаксис:
- data: диапазон ячеек, из которого вы хотите извлечь случайные строки;
- n: количество случайных строк, которые вы хотите извлечь;
- {1,2,3…}: номера столбцов для извлечения.
Например, чтобы выбрать5 строк данных из диапазона A2:C12, используйте любую из формул ниже:
=INDEX(SORTBY(A2:C12, RANDARRAY(ROWS(A2:C12))), SEQUENCE(5), {1,2,3}) (Ввести число напрямую)
Затем нажмите Enter —5 случайных строк без повторов будут извлечены из диапазона A2:C12, как показано на скриншоте ниже:
Как зафиксировать случайные результаты, чтобы они не изменялись
Вы, вероятно, заметили, что все функции для генерации случайных данных, такие как RAND, RANDBETWEEN и RANDARRAY, являются изменяемыми. Результаты будут пересчитываться при каждом изменении листа, и появятся новые случайные значения. Чтобы остановить автоматическое изменение случайных значений, ниже приведены два быстрых способа.
Как зафиксировать случайные результаты с помощью копирования и вставки
Обычно можно воспользоваться функцией Копировать и Вставить, чтобы скопировать и вставить динамические формулы как значения — выполните следующие действия:
1. Выделите ячейки с вашей случайной формулой и нажмите Ctrl + C для копирования.
2. Затем щелкните правой кнопкой мыши выделенный диапазон и выберите Значения в разделе Параметры вставки, см. скриншот:
Совет: Можно также нажать Shift + F10, а затем V для активации этой опции.
3. Все ячейки с формулами будут преобразованы в значения, и случайные значения больше не будут изменяться.
Как зафиксировать случайные результаты с помощью удобной функции
Если у вас установлен Kutools для Excel, функция К фактическим поможет преобразовать все выбранные ячейки с формулами в значения одним кликом.
1. Выделите ячейки со случайной формулой и нажмите Kutools > К фактическим, см. скриншот:
2. Теперь все выбранные формулы преобразованы в значения.
Лучшие инструменты для повышения продуктивности работы с Office
Ускорьте работу в Excel с Kutools для Excel и ощутите новую степень эффективности. Kutools для Excel предлагает более300 расширенных функций для повышения продуктивности и экономии времени. Нажмите здесь, чтобы выбрать нужную вам функцию...
Office Tab добавляет вкладки в Office и делает вашу работу намного проще
- Включите редактирование и чтение с вкладками в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Открывайте и создавайте несколько документов во вкладках одного окна, а не в отдельных окнах.
- Увеличьте свою продуктивность на50% и сократите сотни лишних кликов мышью каждый день!