Note: The other languages of the website are Google-translated. Back to English

Как сделать счастливые названия розыгрышей в 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 for Excel решает большинство ваших проблем и увеличивает вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма ...
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон...
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы... Предотвращение дублирования ячеек; Сравнить диапазоны...
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор ...
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое ...
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии...
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом ...
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF...
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
вкладка kte 201905

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

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
офисный дно
Сортировать комментарии по
Комментарии (3)
Оценок пока нет. Оцените первым!
Этот комментарий был сведен к минимуму модератором на сайте
Ошибка:
#NUM!



Формула:
=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))))
Этот комментарий был сведен к минимуму модератором на сайте
Привет, Мангипуди,
Эта формула хорошо работает в моей книге Excel. Какую версию Excel вы используете?
Вы также можете предоставить свою проблему в виде скриншота здесь.
Этот комментарий был сведен к минимуму модератором на сайте
У меня такая же ошибка, но не всегда.
Здесь еще нет комментариев
Оставляйте свои комментарии
Публикация как гость
×
Оценить этот пост:
0   Характеристики
Предлагаемые места

Подписывайтесь на Нас

Copyright © 2009 - www.extendoffice.ком. | Все права защищены. Питаться от ExtendOffice, | Карта сайта
Microsoft и логотип Office являются товарными знаками или зарегистрированными товарными знаками Microsoft Corporation в США и / или других странах.
Защищено Sectigo SSL