KutoolsforOffice — Одно решение — пять мощных инструментов.Меньше усилий — больше результата.

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

АвторКеллиДата изменения

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

Это подробное руководство познакомит вас с несколькими способами достижения цели — от простых формульных решений, доступных каждому пользователю, до продвинутой автоматизации с помощью VBA и даже специализированных удобных инструментов, таких как Kutools для Excel. Каждый метод обладает своими преимуществами и идеально подходит для определённых ситуаций — мы разберём их ниже, чтобы вы могли выбрать наилучшее решение именно для своих задач.


Случайное заполнение значений из списка данных с помощью формул

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

✅ Формула 1: функции ИНДЕКС + СЛУЧМЕЖДУ

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

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

=INDEX($A$2:$A$15, RANDBETWEEN(1, COUNTA($A$2:$A$15)))

Функции ИНДЕКС + СЛУЧМЕЖДУ для случайного заполнения значений

🔍 Подробное объяснение этой формулы:
  • A2:A15: представляет список значений, из которого будет выполняться случайный выбор.
  • COUNTA($A$2:$A$15): динамически подсчитывает количество элементов в вашем списке, гарантируя стабильную работу формулы даже при изменении длины списка.
  • СЛУЧМЕЖДУ(1, n): генерирует случайное целое число от 1 до n (количества элементов в списке).
  • INDEX(range, number): извлекает элемент, соответствующий указанной позиции в вашем списке.

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

 

✅ Формула 2: функции ИНДЕКС + ДИАПАЗОН.СЛУЧ (Excel 365 / 2021+)

Комбинация функций ИНДЕКС и ДИАПАЗОН.СЛУЧ идеально подходит для пользователей Excel 365 и Excel 2021. Благодаря динамическим массивам этот подход позволяет за один шаг генерировать целые пакеты случайных выборок, значительно упрощая рабочие процессы, где требуется множество случайных значений. Он особенно удобен, когда нужно быстро получить заданное количество случайных элементов. Однако, как и в предыдущем методе, здесь не гарантируется уникальность результатов внутри одного пакета.

Чтобы воспользоваться этим решением, введите формулу в любую пустую ячейку — например, B2 — и нажмите Enter. Excel автоматически «разольёт» сгенерированные случайные значения в последующие строки. Например, приведённая ниже формула выводит 5 случайных значений из списка:

=INDEX(A2:A15, RANDARRAY(5, 1, 1, COUNTA(A2:A15), TRUE))

Функции ИНДЕКС + ДИАПАЗОН.СЛЧ для случайного заполнения значений

🔍 Подробное объяснение этой формулы:
  • A2:A15: указанный диапазон данных для случайного выбора.
  • COUNTA(A2:A15): подсчитывает количество записей в целевом списке.
  • ДИАПАЗОН.СЛУЧ(5,1,1, COUNTA(…), ИСТИНА): генерирует 5 случайных целых чисел от 1 до последней позиции в списке, формируя вертикальный массив (1 столбец).
  • INDEX(A2:A15, …): сопоставляет каждое случайное число со значением из вашего списка.

Совет: если вам нужно другое количество случайных значений, просто измените параметр 5 в выражении ДИАПАЗОН.СЛУЧ(5,1, ...) на нужное число. Не забывайте вставлять результаты как значения, если хотите зафиксировать их — формулы обновляются автоматически при любых изменениях на листе.

💡Советы: Поскольку функции СЛУЧМЕЖДУ (RANDBETWEEN) и СЛУЧМАССИВ (RANDARRAY) являются volatile, результат будет обновляться при любом изменении на листе. Чтобы сохранить статический снимок, скопируйте результаты и используйте «Вставить как значения».

Случайное заполнение значений из списка с помощью VBA (расширенное и настраиваемое решение)

Если вам нужно автоматизировать массовое назначение случайных значений, исключить дублирование записей или реализовать дополнительную настройку — например, применить сложную логику при выборе, — идеальным решением станет использование VBA (Visual Basic for Applications). С его помощью можно генерировать по-настоящему уникальные случайные выборки, внедрять собственную логику распределения и выполнять повторяющиеся задачи всего одной командой — это особенно полезно для продвинутого моделирования, автоматического случайного распределения и работы с крупными наборами данных.

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

1. Откройте редактор VBA, нажав Разработчик > Visual Basic(или просто нажмите)Alt + F11), чтобы открыть окно Microsoft Visual Basic для приложений. Затем в меню выберите Вставка > Модуль и вставьте приведённый ниже код в открывшееся окно модуля:

Sub RandomFillFromList_NoDuplicates()
    Dim srcRange As Range
    Dim destRange As Range
    Dim srcValues As Variant
    Dim destCount As Integer
    Dim usedIndexes As Object
    Dim i As Integer
    Dim randIndex As Integer
    
    On Error Resume Next
    Set srcRange = Application.InputBox("Select source list", "KutoolsforExcel", Type:=8)
    If srcRange Is Nothing Then Exit Sub
    
    Set destRange = Application.InputBox("Select destination range (number of random values to fill)", "KutoolsforExcel", Type:=8)
    If destRange Is Nothing Then Exit Sub
    
    srcValues = Application.Transpose(srcRange.Value)
    destCount = destRange.Cells.Count
    Set usedIndexes = CreateObject("Scripting.Dictionary")
    
    If UBound(srcValues) < destCount Then
        MsgBox "Not enough unique items in the source list to fill destination without duplicates.", vbExclamation, "KutoolsforExcel"
        Exit Sub
    End If
    
    Randomize
    For i = 1 To destCount
        Do
            randIndex = Int(Rnd() * UBound(srcValues)) + 1
        Loop While usedIndexes.Exists(randIndex)
        
        usedIndexes(randIndex) = True
        destRange.Cells(i).Value = srcValues(randIndex)
    Next
End Sub

2. Запустите макрос, нажав кнопку Кнопка «Выполнить» на панели инструментов VBA. Макрос предложит вам выбрать: (а) исходный список (диапазон значений для выбора) и (b) область размещения списка (чтобы извлечь заданное количество случайных значений, просто выделите столько же ячеек). Код гарантирует отсутствие дублирующихся значений в результате, если исходный список достаточно велик. В противном случае появится предупреждение.

Этот метод VBA предлагает следующие преимущества и соображения:

  • Преимущества: Гарантирует случайный выбор без повторений, справляется с очень большими списками и пакетами, а также легко автоматизирует повторяющиеся задачи.
  • Недостатки: Требуется книга Excel с поддержкой макросов (файлы Excel). Если ваша книга ограничивает использование макросов, этот метод может не подойти. Возможны ошибки, если количество ячеек назначения превышает число исходных элементов.
  • Напоминания об ошибках: Макрос уведомит вас, если в исходном списке недостаточно уникальных значений для выполнения запроса.
  • Советы по настройке: Вы можете дополнительно адаптировать код, чтобы разрешить дубликаты (удалив проверку уникальности) или реализовать логику взвешивания и фильтрации для более специализированных сценариев.

Случайный выбор и заполнение значений из списка данных с помощью Kutools для Excel (все версии)

Kutools для Excel предлагает удобное и интерактивное решение для случайного выбора и заполнения значений из списка. Оно идеально подходит как для пользователей, желающих выполнять случайные назначения без написания формул или кода, так и для тех, кому необходимо быстро обрабатывать большие объёмы выборок с минимальным ручным вводом. Kutools также предоставляет гибкие настройки результата — например, количество выбираемых значений — через простой диалоговый интерфейс.

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

После установки Kutools для Excel выполните следующие действия, чтобы использовать встроенную функцию случайного выбора:

  1. Выделите диапазон со значениями, из которых вы хотите выбрать случайным образом.
  2. Нажмите Kutools > Диапазон > Сортировать, выбирать или случайно перемешивать. См. снимок экрана ниже:
    нажмите «Случайная сортировка / выбор диапазона» в Kutools
  3. В диалоговом окне Сортировать, выбирать или случайно перемешиватьперейдите на вкладку Выбори выполните следующие действия:
    • Укажите, сколько ячеек нужно выбрать случайным образом.
    • Убедитесь, что вы выбрали параметр Ячейка в разделе Тип выбора.
    • Наконец, нажмите кнопку ОК.
      настройка параметров в диалоговом окне
  4. Будет выделено указанное количество случайных ячеек, которые затем можно скопировать и вставить в другое место по мере необходимости.
    копирование и вставка случайных ячеек

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


🔚Заключение

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

  • Для всех версий Excel формула ИНДЕКС + СЛУЧМЕЖДУ — это быстрый и надёжный способ генерировать случайные выборки, особенно в списках, где допускаются дубликаты.
  • Если у вас установлен Excel 365 или 2021, комбинация функций ДИАПАЗОН.СЛУЧ и ИНДЕКС обеспечивает более динамичный пакетный выбор, значительно ускоряя процессы, когда нужно получить сразу множество результатов.
  • Для высоконастраиваемых задач — например, чтобы гарантировать отсутствие дубликатов, автоматизировать массовые случайные назначения или обрабатывать сложную логику выбора — метод VBA обеспечивает максимальную гибкость, хотя пользователям следует уметь запускать макросы.
  • Если вы предпочитаете простой подход без программирования, Kutools для Excel позволяет создавать случайные выборки через интуитивно понятный графический интерфейс — идеальное решение как для новичков, так и для опытных пользователей, которым нужны быстрые результаты.

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

Рекомендации по устранению неполадок: дважды проверяйте точность диапазонов списков, учитывайте пересчёт при использовании volatile-функций и убедитесь, что настройки безопасности макросов разрешают выполнение VBA-кода в решениях на основе программного кода. Если при использовании VBA возникают ошибки (например, недостаточный размер исходного списка), следуйте системным подсказкам и пересмотрите заданные диапазоны.


Связанные статьи:

Случайный выбор ячеек по критериям в Excel

Случайное добавление фона/Цвет заполнения для ячеек в Excel


Лучшие инструменты повышения продуктивности в Office

🤖KUTOOLS AI Помощник: Преобразуйте Анализ данных с помощью:Интеллектуального выполнения   |  Генерации кода|  Создания пользовательские формулы  |  Анализа данных и построения диаграмм|  Вызова Расширенные функции
Популярные функции:Поиск, выделение или Отметить дубликаты   |  Удалить пустые строки   |  Объединить столбцы или ячеек без потери данных   |  Округление без использования формул
Супер ПОИСК:VLookup по нескольким критериям  |  VLookup по нескольким значениям  |   VLookup по нескольким листам   |   Распознавание нечетких соответствий
Расширенный раскрывающийся список:Быстрое создание выпадающего списка   |  Зависимый выпадающий список   |  Выпадающий список с множественным выбором
Управление столбцами:Добавление заданного количества столбцов|Перемещение столбцов|Переключение видимости скрытых столбцов|Сравнение диапазонов и столбцов
Избранные функции:Сетка фокусировки   |  Просмотр дизайна   |Улучшенная строка формулы   | Управление рабочими книгами и листами   |  Библиотека ресурсов(автотекст)|  Выбор даты   |  Объединить листы  |  Шифрование/Расшифровать ячейки   | Отправка писем по списку   |  Супер фильтр   |   Специальный фильтр(Фильтр ячеек с жирным шрифтом/курсив/зачёркивание…) …
Лучшие наборы инструментов 15:12 Текстовыеинструменты(Добавить текст,Удалить определенные символы, …)|   50+Типыдиаграмм(Диаграмма Ганта, …)|   40+ Практические формулы(Рассчитать возраст на основе даты рождения, …)|   19 Инструментывставки(Вставить QR-код,Вставка изображения по пути, …)|   12 Инструментыпреобразования(Преобразовать в слова,Конвертация валют, …)|   7 Объединить и разделитьИнструменты(Расширенное объединение строк,Разделить ячейки, …)|… и многое другое
Используйте Kutools на предпочитаемом языке — поддержка английского, испанского, немецкого, французского, китайского и ещё 40+ языков!

Раскройте весь потенциал Excel с помощью Kutools для Excel и ощутите эффективность как никогда раньше.Kutools для Excel предлагает более 300 расширенных функций для повышения продуктивности и Экономия времени.Нажмите здесь, чтобы получить нужную Вам функцию…


Office Tab добавляет в Office вкладки и значительно упрощает Вашу работу

  • Включите редактирование и чтение во вкладках в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
  • Открывайте и создавайте несколько документов во вкладках одного окна — вместо того чтобы использовать отдельные окна.
  • Повышает вашу продуктивность на 50 % и экономит сотни кликов мышью каждый день!

Все надстройки Kutools — один установщик

Kutools for Office — набор надстроек для Excel, Word, Outlook и PowerPoint, а также Office Tab Pro, идеально подходящий командам, работающим с разными приложениями Office.

ExcelWordOutlookTabsPowerPoint
  • Единый комплект— надстройки для Excel, Word, Outlook и PowerPoint + Office Tab Pro
  • Один установщик, одна лицензия— настройка занимает считанные минуты (готово для MSI)
  • Лучше работать вместе— оптимизированная продуктивность во всех приложениях Office
  • 30-дневная полнофункциональная пробная версия— без регистрации и кредитной карты
  • Лучшее соотношение цены и качества— экономия по сравнению с покупкой отдельных надстроек