Перейти к основному содержанию

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

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

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

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

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


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

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

Введите эту формулу в пустую ячейку, в которую вы хотите поместить результат: =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)))) , а затем перетащите маркер заполнения вниз до ячеек по мере необходимости, см. снимок экрана:

Док счастливые имена 1

Ноты:

1. В приведенной выше формуле: A2: A16 это список имен, из которого вы хотите извлечь случайным образом, B2 это необходимое число, которое вы хотите извлечь из имен, C2 это ячейка, в которую нужно ввести формулу, и C1 это ячейка над ячейкой формулы.

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


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

Здесь код VBA также может помочь вам выполнить эту задачу, пожалуйста, сделайте следующее:

1. Удерживайте Alt + F11 , чтобы открыть Microsoft Visual Basic для приложений окно.

2. Нажмите Вставить > Модулии вставьте следующий код в Модули Окно.

Код 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. После вставки кода нажмите Инструменты > Рекомендации в открытом Microsoft Visual Basic для приложений окно, а затем в выскочившем Ссылки - VBAProject диалоговое окно, отметьте Среда выполнения сценариев Microsoft вариант в Доступные ссылки список, см. снимок экрана:

Док счастливые имена 2

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

Док счастливые имена 3

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

Док счастливые имена 4

6. Затем нажмите OK, и желаемое количество имен было создано случайным образом сразу, см. снимок экрана:

Док счастливые имена 5


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

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

Kutools for Excel : с более чем 300 удобными надстройками Excel, бесплатно и без ограничений в течение 30 дней. 

После установки Kutools for Excel, пожалуйста, сделайте так:

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

2. В Сортировка / выбор диапазона случайным образом диалоговое окно под Выберите на вкладке введите номер, имена которого вы хотите выбрать, в Количество ячеек для выбора текстовое поле, а затем выберите Выбрать случайные ячейки в Выберите тип раздел, см. снимок экрана:

3. Затем нажмите Ok кнопку, и ваше конкретное количество имен было выбрано по мере необходимости, см. снимок экрана:

Док счастливые имена 8

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

Лучшие инструменты для офисной работы

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

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

Описание


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
Comments (3)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Error:
#NUM!



Formula:
=IF(ROWS(C$2:C2)>B$2,"",INDEX(A$2:A$1500,AGGREGATE(15,6,((ROW(A$2:A$1500)-ROW(A$2)+1)/ISNA(MATCH(A$2:A$1500,C$1:C1,0))),RANDBETWEEN(1,ROWS(A$2:A$1500)-COUNTA(C$1:C1)+1))))
This comment was minimized by the moderator on the site
Hello, Mangipudi,
This formula works well in my Excel workbook, which Excel version do you use?
You can also give your problem as a screenshot here.
This comment was minimized by the moderator on the site
I have the same error, but it is not showing all times.
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations