Перейти к содержимому

Kutools для Office — один пакет. Пять инструментов. Выполняйте больше.

Как сделать розыгрыш имён в Excel?

Author Xiaoyang Last modified

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

Извлечение случайных имён для розыгрыша с помощью формулы

Выбор случайных имён для розыгрыша с помощью Kutools для Excel

Извлечение случайных имён для розыгрыша с помощью кода VBA

Альтернатива: Извлечение случайных имён с использованием функции СЛЧИС и сортировки


Извлечение случайных имён для розыгрыша с помощью формулы

Если вам нужно случайным образом выбрать определённое количество имён (например, 3 победителя) из столбца имён, вы можете использовать сложный подход с формулой. Этот метод автоматически избегает дублирующихся выборок и обновляет результат каждый раз при пересчёте книги. Он особенно подходит для выбора небольшого фиксированного числа имён из среднего списка, особенно если вы хотите, чтобы процесс был отслеживаемым и не требовал дополнительных надстроек или кода.

Чтобы использовать этот метод, следуйте инструкциям ниже:

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

=IF(ROWS(C$2:C2)>B$2,"",INDEX(A$2:A$16,AGGREGATE(15,6,((ROW(A$2:A$16)-ROW(A$2)+1)/ISNA(MATCH(A$2:A$16,C$1:C1,0))),RANDBETWEEN(1,ROWS(A$2:A$16)-COUNTA(C$1:C1)+1))))

После ввода формулы перетащите маркер заполнения вниз на столько строк, сколько имён вы хотите выбрать (например, если вы хотите выбрать 3 имени, протяните его на 3 строки до C4). Выбранные имена автоматически появятся в ячейках. См. скриншот:

Extract random names with a formula

Объяснение параметров и практические советы:

  • В этой формуле:
    • A2:A16 — это ваш исходный список имён. Измените этот диапазон, чтобы он соответствовал вашим реальным данным.
    • B2 — в эту ячейку должно быть введено общее количество имён, которые вы хотите выбрать случайным образом (например, введите 3).
    • C2 — это первая ячейка в вашем списке результатов, куда вы вводите формулу.
    • C1 — это ячейка непосредственно над формулой. Она необходима для правильной работы структуры формулы, даже если оставлена пустой.
  • Этот метод является динамическим: если вам нужен новый набор случайных имён, просто нажмите F9 для пересчёта и получения нового набора результатов.
  • Чтобы предотвратить изменение формул каждый раз при пересчёте листа, вы можете скопировать результаты и использовать «Специальная вставка > Значения», чтобы сделать выбранные имена статичными.
  • Если ваш список имён больше или если вы хотите провести розыгрыш несколько раз, убедитесь, что столбец с результатами не пересекается со списком имён, так как это может вызвать ошибки.

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


Выбор случайных имён для розыгрыша с помощью Kutools для Excel

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

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

После установки Kutools для Excel выполните следующие шаги:

1. Выберите весь список имён, который вы хотите использовать для розыгрыша. Затем нажмите Kutools > Диапазон > Сортировать / Выбрать диапазон случайным образом. См. скриншот:

click Sort / Select Range Randomly feature of kutools

2. В диалоговом окне «Сортировать/Выбрать диапазон случайным образом» перейдите на вкладку Выбор. Здесь введите количество случайных имён, которое вы хотите выбрать, в поле Количество ячеек для выбора (например, 3), затем выберите Выбрать случайные ячейки в разделе Тип выбора. Это позволит вам выбрать любое количество уникальных имён случайным образом. См. скриншот:

specify the options in the dialog box

3. Нажмите ОК. Указанное количество имён будет случайным образом выбрано и выделено в вашем списке, так что вы легко сможете определить победителей или выбранных участников. См. скриншот:

the specific number of names are selected

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

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

Нажмите, чтобы скачать Kutools для Excel и начать бесплатную пробную версию сейчас!

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


Извлечение случайных имён для розыгрыша с помощью кода VBA

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

Выполните следующие шаги, чтобы использовать VBA для розыгрыша:

1. Нажмите Alt + F11, чтобы открыть окно Microsoft Visual Basic for Applications.

2. Нажмите Insert > Module, чтобы создать новый модуль, затем скопируйте и вставьте код VBA ниже в окно модуля.

Код VBA: Извлечение случайных имён из списка:

Public Sub LuckyDraw()
    Dim I, J, xRnd As Long
    Dim xSRg, xDRg As Range
    Dim xDic As New Dictionary
    Dim xnum, xLastRow As Long
    On Error Resume Next
    Set xSRg = Application.InputBox("Please select the data list:", "KuTools for Excel", Selection.Address, , , , , 8)
    If xSRg Is Nothing Then Exit Sub
    Set xDRg = Application.InputBox("Please selecta cell to put the result:", "KuTools for Excel", , , , , , 8)
    If xDRg Is Nothing Then Exit Sub
    xLastRow = xSRg.Rows.Count
    Set xSRg = xSRg(1)
    Set xDRg = xDRg(1)
    xnum = Range("B2")
    If xnum < 1 Then Exit Sub
    J = 0
    For I = 1 To xnum
LabExit:
        xRnd = Int(Rnd() * xLastRow)
        If xDic.Exists(xRnd) Then GoTo LabExit
        xDic.Add xRnd, ""
        xDRg.Offset(J, 0).Value = xSRg.Offset(xRnd, 0).Value
        J = J + 1
    Next
End Sub

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

3. После вставки кода перейдите в Tools > References в окне редактора VBA. В открывшемся диалоговом окне отметьте опцию Microsoft Scripting Runtime в списке доступных ссылок. Этот шаг необходим для активации используемого в коде словаря сценариев. См. скриншот:

click Tools > References, then check Microsoft Scripting Runtime option

4. Нажмите OK, чтобы закрыть диалоговое окно, затем нажмите F5, чтобы запустить код. Появится окно запроса, в котором вас попросят выбрать список данных, содержащий имена, из которых вы хотите провести розыгрыш. См. скриншот:

vba code to select the data list

5. Нажмите OK. Появится ещё одно окно запроса, в котором вас попросят выбрать целевую ячейку, где вы хотите, чтобы результаты розыгрыша отображались. См. скриншот:

vba code to select a cell to put the result

6. Нажмите OK, чтобы завершить процесс. Случайно выбранные имена будут немедленно выведены, начиная с указанной вами ячейки. См. скриншот:

the desired number of names are created randomly

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

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


Альтернатива: Извлечение случайных имён с использованием функции СЛЧИС и сортировки

Помимо вышеупомянутых методов, другое практичное и визуальное решение — это использование функции СЛЧИС в Excel в сочетании с сортировкой. Этот метод прост, не требует формул с комплексной структурой, надстроек или кодирования, что делает его подходящим для быстрых, редких розыгрышей в любой версии Excel. Он особенно полезен, когда вы хотите вручную видеть и проверять, как происходит рандомизация.

Вот как это сделать:

  • Добавьте вспомогательный столбец рядом со списком имён и введите =СЛЧИС() в первую ячейку вспомогательного столбца (например, если ваши имена находятся в A2:A16, введите =СЛЧИС() в B2).
  • Скопируйте формулу вниз вдоль всего списка. Каждая ячейка будет заполнена случайным десятичным числом.
  • Выберите как исходные имена, так и вспомогательный столбец СЛЧИС.
  • Перейдите на вкладку Данные и выберите Сортировка. Установите сортировку по вспомогательному столбцу со значениями СЛЧИС, сортируя от наименьшего к наибольшему (или наоборот). Это случайным образом переупорядочит весь список.
  • После сортировки просто выберите первые N имён из переупорядоченного списка как победителей розыгрыша.

Советы и примечания: Каждый раз при пересчёте листа функция СЛЧИС обновится. Если вы хотите зафиксировать результаты розыгрыша, скопируйте имена и вставьте их как значения в другом месте. Если вы хотите провести другой розыгрыш, просто пересчитайте (F9).

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


Подводя итог, Excel предлагает несколько способов случайного выбора имён для розыгрышей. Выбор метода зависит от ваших предпочтений в отношении простоты, настраиваемости или визуального взаимодействия. Для простого ручного использования рекомендуются СЛЧИС и сортировка или Kutools для Excel. Для динамических и многоразовых решений формулы или VBA предоставляют дополнительную гибкость. Если вы столкнулись с ошибками или неожиданными результатами, дважды проверьте ссылки на ячейки, выбор диапазонов и убедитесь, что все необходимые надстройки или настройки макросов включены. Для достижения наилучших результатов всегда сохраняйте свои данные перед началом розыгрыша и проверяйте результаты, чтобы избежать ошибок в важных мероприятиях или командных событиях.


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

🤖 Kutools AI Aide: Совершенно новый подход к анализу данных благодаря: Интеллектуальное выполнение |  Генерация кода  |  Создание пользовательских формул |  Анализ данных и построение диаграмм  |  Вызов Kutools Functions
Популярные функции: Поиск, выделение или отметка дубликатов | Удалить пустые строки | Объединить столбцы или адреса без потери данных | Округлить ...
Супер ПОИСК: 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.

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