ไปยังเนื้อหาหลัก

วิธีสร้างชื่อผู้โชคดีใน Excel

ผู้เขียน: Xiaoyang แก้ไขล่าสุด: 2021-01-07

ในการทำงานประจำวันของคุณบางครั้งคุณต้องสุ่มเลือกพนักงานบางคนจากรายชื่อที่ยาวเป็นชื่อผู้โชคดี ใน 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)))) จากนั้นลากที่จับเติมลงไปที่เซลล์ตามที่คุณต้องการดูภาพหน้าจอ:

doc ชื่อผู้โชคดี 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 ตัวเลือกใน อ้างอิงที่มีอยู่ กล่องรายการดูภาพหน้าจอ:

doc ชื่อผู้โชคดี 2

4. จากนั้นคลิก OK เพื่อออกจากกล่องโต้ตอบจากนั้นกด F5 คีย์เพื่อเรียกใช้รหัสนี้และกล่องพร้อมต์จะปรากฏขึ้นเพื่อเตือนให้คุณเลือกรายการข้อมูลที่คุณต้องการแยกชื่อดูภาพหน้าจอ:

doc ชื่อผู้โชคดี 3

5. คลิก OK และกล่องข้อความแจ้งอีกอันจะปรากฏขึ้นโปรดเลือกเซลล์ที่คุณต้องการใส่ผลลัพธ์ดูภาพหน้าจอ:

doc ชื่อผู้โชคดี 4

6. จากนั้นคลิก OKและจำนวนชื่อที่ต้องการถูกสร้างขึ้นแบบสุ่มในครั้งเดียวดูภาพหน้าจอ:

doc ชื่อผู้โชคดี 5


เลือกชื่อแบบสุ่มเพื่อทำการจับรางวัลด้วย Kutools for Excel

อาจจะเป็นสองวิธีข้างต้นเป็นเรื่องยากสำหรับพวกเราส่วนใหญ่ที่นี่ถ้าคุณมี Kutools สำหรับ Excelเดียวกันกับที่ จัดเรียงช่วงแบบสุ่ม คุณสมบัติคุณสามารถเลือกชื่อแบบสุ่มได้อย่างรวดเร็ว

Kutools สำหรับ Excel : ด้วย Add-in ของ Excel ที่มีประโยชน์มากกว่า 300 รายการทดลองใช้ฟรีโดยไม่มีข้อ จำกัด ใน 30 วัน. 

หลังจากการติดตั้ง Kutools สำหรับ Excelโปรดทำตามนี้:

1. เลือกรายชื่อที่คุณต้องการสุ่มเลือก จากนั้นคลิก Kutools > พิสัย > จัดเรียง / เลือกช่วงแบบสุ่มดูภาพหน้าจอ:

2. ใน จัดเรียง / เลือกช่วงแบบสุ่ม ภายใต้ เลือก ป้อนหมายเลขที่คุณต้องการเลือกชื่อลงใน จำนวนเซลล์ที่จะเลือก กล่องข้อความแล้วเลือก เลือกเซลล์แบบสุ่ม ใน เลือกประเภท ส่วนดูภาพหน้าจอ:

3. จากนั้นคลิก Ok และจำนวนชื่อเฉพาะของคุณได้ถูกเลือกตามที่คุณต้องการดูภาพหน้าจอ:

doc ชื่อผู้โชคดี 8

คลิกเพื่อดาวน์โหลด Kutools สำหรับ Excel และทดลองใช้ฟรีทันที!

สุดยอดเครื่องมือเพิ่มผลผลิตในสำนักงาน

🤖 Kutools AI ผู้ช่วย: ปฏิวัติการวิเคราะห์ข้อมูลโดยยึดตาม: การดำเนินการที่ชาญฉลาด   |  สร้างรหัส  |  สร้างสูตรที่กำหนดเอง  |  วิเคราะห์ข้อมูลและสร้างแผนภูมิ  |  เรียกใช้ฟังก์ชัน Kutools...
คุณสมบัติยอดนิยม: ค้นหา เน้น หรือระบุรายการที่ซ้ำกัน   |  ลบแถวว่าง   |  รวมคอลัมน์หรือเซลล์โดยไม่สูญเสียข้อมูล   |   รอบโดยไม่มีสูตร ...
การค้นหาขั้นสูง: VLookup หลายเกณฑ์    VLookup หลายค่า  |   VLookup ข้ามหลายแผ่น   |   การค้นหาที่ไม่ชัดเจน ....
รายการแบบเลื่อนลงขั้นสูง: สร้างรายการแบบหล่นลงอย่างรวดเร็ว   |  รายการแบบหล่นลงขึ้นอยู่กับ   |  เลือกหลายรายการแบบหล่นลง ....
ผู้จัดการคอลัมน์: เพิ่มจำนวนคอลัมน์เฉพาะ  |  ย้ายคอลัมน์  |  สลับสถานะการมองเห็นของคอลัมน์ที่ซ่อนอยู่  |  เปรียบเทียบช่วงและคอลัมน์ ...
คุณสมบัติเด่น: กริดโฟกัส   |  มุมมองการออกแบบ   |   บาร์สูตรใหญ่    สมุดงานและตัวจัดการชีต   |  ห้องสมุดทรัพยากร (ข้อความอัตโนมัติ)   |  เลือกวันที่   |  รวมแผ่นงาน   |  เข้ารหัส/ถอดรหัสเซลล์    ส่งอีเมลตามรายการ   |  ซุปเปอร์ฟิลเตอร์   |   ตัวกรองพิเศษ (กรองตัวหนา/ตัวเอียง/ขีดทับ...) ...
ชุดเครื่องมือ 15 อันดับแรก12 ข้อความ เครื่องมือ (เพิ่มข้อความ, ลบอักขระ, ... )   |   50 + แผนภูมิ ประเภท (แผนภูมิ Gantt, ... )   |   40+ ใช้งานได้จริง สูตร (คำนวณอายุตามวันเกิด, ... )   |   19 การแทรก เครื่องมือ (ใส่ QR Code, แทรกรูปภาพจากเส้นทาง, ... )   |   12 การแปลง เครื่องมือ (ตัวเลขเป็นคำ, การแปลงสกุลเงิน, ... )   |   7 ผสานและแยก เครื่องมือ (แถวรวมขั้นสูง, แยกเซลล์, ... )   |   ... และอื่น ๆ

เพิ่มพูนทักษะ Excel ของคุณด้วย Kutools สำหรับ Excel และสัมผัสประสิทธิภาพอย่างที่ไม่เคยมีมาก่อน Kutools สำหรับ Excel เสนอคุณสมบัติขั้นสูงมากกว่า 300 รายการเพื่อเพิ่มประสิทธิภาพและประหยัดเวลา  คลิกที่นี่เพื่อรับคุณสมบัติที่คุณต้องการมากที่สุด...

รายละเอียด


แท็บ Office นำอินเทอร์เฟซแบบแท็บมาที่ Office และทำให้งานของคุณง่ายขึ้นมาก

  • เปิดใช้งานการแก้ไขและอ่านแบบแท็บใน Word, Excel, PowerPoint, ผู้จัดพิมพ์, Access, 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