How to make lucky draw names in Excel?
In your daily work, sometimes, you need to select some employees randomly from a long list names as the lucky names. In Excel, how could you randomly select some names for making lucky draw? This article, I will talk about some useful methods to deal with this job in Excel.
Extract random names for making lucky draw with formula
Extract random names for making lucky draw with VBA code
Select random names for making lucky draw with Kutools for Excel
Extract random names for making lucky draw with formula
For example, I want to extract any 3 names from the name list, the following long formula can help you, please do as this:
Enter this formula into a blank cell where you want to put the result: =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)))) , and then drag the fill handle down to cells as you need, see screenshot:
Notes:
1. In the above formula: A2:A16 is the name list that you want to extract from randomly, B2 is the required number you want to extract names, C2 is the cell where to enter the formula, and C1 is the cell above the formula cell.
2. You can press F9 key to get another group of new names randomly.
Extract random names for making lucky draw with VBA code
Here, a VBA code also can help you to finish this task, please do as this:
1. Hold down the Alt + F11 keys to open the Microsoft Visual Basic for Applications window.
2. Click Insert > Module, and paste the following code in the Module Window.
VBA code: Extract random names from a list:
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
Note: In the above code, B2 is the cell contains the number of names you want to extract.
3. After inserting the code, then click Tools > References in the opened Microsoft Visual Basic for Applications window, and then, in the popped out References – VBAProject dialog box, check Microsoft Scripting Runtime option in the Available References list box, see screenshot:
4. And then click OK button to exit the dialog box, then press F5 key to run this code, and a prompt box is popped out to remind you selecting the data list you want to extract names from, see screenshot:
5. Click OK button, and another prompt box is popped out, please select a cell where you want to put the result, see screenshot:
6. Then click OK, and the desired number of names have been created randomly at once, see screenshot:
Select random names for making lucky draw with Kutools for Excel
May be above two methods are difficult for most of us, here, if you have Kutools for Excel, with its Sort Range Randomly feature, you can quickly select names randomly.
Kutools for Excel : with more than 300 handy Excel add-ins, free to try with no limitation in 30 days. |
After installing Kutools for Excel, please do as this:
1. Select the name list that you want to select randomly. Then click Kutools > Range > Sort / Select Range Randomly, see screenshot:
2. In the Sort/Select Range Randomly dialog box, under the Select tab, enter the number that you want to select names into the No. of cells to select text box, and then choose Select random cells in the Select Type section, see screenshot:
3. Then click Ok button, and your specific number of names have been selected as you need, see screenshot:
Click to Download Kutools for Excel and free trial Now!
Best Office Productivity Tools
Supercharge Your Excel Skills with Kutools for Excel, and Experience Efficiency Like Never Before. Kutools for Excel Offers Over 300 Advanced Features to Boost Productivity and Save Time. Click Here to Get The Feature You Need The Most...
Office Tab Brings Tabbed interface to Office, and Make Your Work Much Easier
- Enable tabbed editing and reading in Word, Excel, PowerPoint, Publisher, Access, Visio and Project.
- Open and create multiple documents in new tabs of the same window, rather than in new windows.
- Increases your productivity by 50%, and reduces hundreds of mouse clicks for you every day!