انتقل إلى المحتوى الرئيسي

كيف تصنع أسماء السحب في 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 مفاتيح لفتح ميكروسوفت فيسوال باسيك للتطبيقات نافذة.

2. انقر إدراج > وحدة، والصق الكود التالي في ملف وحدة نافذة او شباك.

كود فبا: استخراج الأسماء العشوائية من قائمة:

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. بعد إدخال الرمز ، انقر فوق الأدوات > مراجع حسابات في الفتح ميكروسوفت فيسوال باسيك للتطبيقات نافذة ، ثم في المنبثقة المراجع - VBAProject مربع الحوار ، تحقق وقت تشغيل البرمجة لـ Microsoft الخيار في المراجع المتاحة مربع القائمة ، انظر لقطة الشاشة:

وثيقة أسماء الحظ 2

4. ثم انقر فوق OK للخروج من مربع الحوار ، ثم اضغط F5 مفتاح لتشغيل هذا الرمز ، ويظهر مربع موجه لتذكيرك بتحديد قائمة البيانات التي تريد استخراج الأسماء منها ، انظر لقطة الشاشة:

وثيقة أسماء الحظ 3

5. انقر OK زر ، وانبثق مربع مطالبة آخر ، يرجى تحديد خلية حيث تريد وضع النتيجة ، انظر لقطة الشاشة:

وثيقة أسماء الحظ 4

6. ثم اضغط OK، وتم إنشاء العدد المطلوب من الأسماء عشوائيًا مرة واحدة ، انظر الصورة:

وثيقة أسماء الحظ 5


حدد أسماء عشوائية لجعل السحب محظوظًا باستخدام Kutools for Excel

قد يكون فوق طريقتين صعبتين بالنسبة لمعظمنا ، هنا ، إذا كان لديك كوتولس ل إكسيل، بما لديها نطاق الفرز عشوائيا ميزة ، يمكنك بسرعة اختيار الأسماء بشكل عشوائي.

كوتولس ل إكسيل : مع أكثر من 300 وظيفة إضافية مفيدة في Excel ، يمكنك تجربتها مجانًا دون قيود في أيام 30. 

بعد تثبيت كوتولس ل إكسيل، يرجى القيام بذلك على النحو التالي:

1. حدد قائمة الأسماء التي تريد تحديدها بشكل عشوائي. ثم اضغط كوتولس > الفترة (من ... إلى) > فرز / تحديد النطاق بشكل عشوائي، انظر لقطة الشاشة:

2. في فرز / تحديد النطاق بشكل عشوائي مربع الحوار ، تحت أختار علامة التبويب ، أدخل الرقم الذي تريد تحديد الأسماء فيه عدد الخلايا المراد تحديدها مربع النص ، ثم اختر حدد الخلايا العشوائية في ال اختر صنف القسم ، انظر لقطة الشاشة:

3. ثم اضغط Ok زر ، وتم تحديد عدد معين من الأسماء حسب حاجتك ، انظر لقطة الشاشة:

وثيقة أسماء الحظ 8

انقر لتنزيل Kutools for Excel والتجربة المجانية الآن!

أفضل أدوات إنتاجية المكتب

الميزات الشعبية: البحث عن التكرارات أو تمييزها أو تحديدها   |  حذف الصفوف الفارغة   |  دمج الأعمدة أو الخلايا دون فقدان البيانات   |   جولة بدون صيغة 
سوبر بحث: معايير متعددة VLookup    VLookup ذات القيمة المتعددة  |   VLookup عبر أوراق متعددة   |   بحث غامض ....
قائمة منسدلة متقدمة: إنشاء القائمة المنسدلة بسرعة   |  القائمة المنسدلة التابعة   |  قائمة منسدلة متعددة التحديد ....
مدير العمود: إضافة عدد محدد من الأعمدة  |  نقل الأعمدة  |  تبديل حالة رؤية الأعمدة المخفية  |  مقارنة النطاقات والأعمدة 
الميزات المميزة: التركيز على الشبكة   |  عرض تصميم   |   شريط الفورمولا الكبير    مدير المصنفات والأوراق   |  مكتبة الموارد (النص السيارات)   |  منتقي التاريخ   |  اجمع أوراق العمل   |  تشفير/فك تشفير الخلايا    إرسال رسائل البريد الإلكتروني عن طريق القائمة   |  سوبر تصفية   |   مرشح خاص (تصفية غامق / مائل / يتوسطه خط ...) ...
أفضل 15 مجموعة أدوات12 نص الأدوات (إضافة نص, إزالة الأحرف، ...)   |   +50 رسم الأنواع (مخطط جانت، ...)   |   40+ عملي الصيغ (احسب العمر على أساس تاريخ الميلاد، ...)   |   19 إدخال الأدوات (أدخل رمز الاستجابة السريعة, إدراج صورة من المسار، ...)   |   12 تحويل الأدوات (أرقام إلى كلمات, نتيجة تحويل عملة، ...)   |   7 دمج وتقسيم الأدوات (الجمع بين الصفوف المتقدمة, تقسيم الخلايا، ...)   |   ... و اكثر

عزز مهاراتك في Excel باستخدام Kutools for Excel، واختبر كفاءة لم يسبق لها مثيل. يقدم Kutools for Excel أكثر من 300 ميزة متقدمة لتعزيز الإنتاجية وتوفير الوقت.  انقر هنا للحصول على الميزة التي تحتاجها أكثر...

علامة تبويب kte 201905


يجلب Office Tab الواجهة المبوبة إلى 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