إنشاء مجموعات عشوائية بسرعة لقائمة بيانات في Excel
في العمل اليومي أو أثناء إعداد جلسات دراسية أو تدريبية، قد تحتاج إلى تقسيم قائمة بيانات—مثل أسماء الطلاب أو أرقام هوياتهم أو مهام المشاريع—إلى مجموعات عشوائية. فعلى سبيل المثال، كما هو موضح فيلقطة الشاشة1، يتم تعيين عناصر البيانات عشوائيًا إلى مجموعات، أو كما هو موضّح فيلقطة الشاشة2، يتم توزيع الأسماء على فرق عشوائية لنشاط أو مهمة جماعية. يؤدي إنجاز هذه المهمة بكفاءة إلى ضمان العدالة وتوفير وقتٍ كبير مقارنةً بالتعيين اليدوي. ولحسن الحظ، يوفّر Excel عدة طرق موثوقة—بما في ذلك الصيغ وأتمتة VBA وتحليل الجداول المحورية—للمساعدة في تنفيذ تعيين المجموعات العشوائية بسرعة ومرونة.
| لقطة الشاشة1 | لقطة الشاشة2 |
![]() | ![]() |
تعيين البيانات عشوائيًا إلى مجموعات
إنشاء مجموعات عشوائية بحجم بيانات معيّن
أتمتة تعيين المجموعات العشوائية باستخدام VBA (خيارات متقدمة)
عندما تحتاج إلى توزيع قائمة بيانات عشوائيًا على عدد معيّن من المجموعات، مع قبول اختلاف أحجام المجموعات، يمكنك تنفيذ ذلك بسرعة باستخدام دالتي CHOOSE وRANDBETWEEN في Excel. وتشمل السيناريوهات النموذجية تنظيم المشاركين في الألعاب أو تشكيل فرق مؤقتة للاجتماعات.
ابدأ باختيار خلية فارغة بجانب قائمتك (على سبيل المثال، إذا كانت قائمتك في العمود A، فاختر الخلية B2)، ثم أدخل الصيغة التالية:
=CHOOSE(RANDBETWEEN(1,3),«Group A»,«Group B»,«Group C »)
في هذه الصيغة:
- RANDBETWEEN(1,3) تعني أنه يتم توليد أرقام عشوائية من 1 إلى 3، والتي تمثّل 3 مجموعات.
- المجموعة A، المجموعة B، والمجموعة Cهي القيم التي ستظهر بجانب بياناتك.
بعد ذلك، اسحب مقبض التعبئة لأسفل لتطبيق الصيغة على الصفوف الأخرى وتوزيع جميع العناصر عشوائيًا إلى المجموعات.
بعد هذه الخطوة، يُعيَّن كل عنصر بيانات إلى مجموعة عشوائيًا. يُرجى ملاحظة أن النتائج قد تتغيّر في كل مرة تُعيد فيها ورقة العمل الحساب — مثلًا عند تعديل خلية أو إعادة فتح الملف — نظرًا لأن الدالة RANDBETWEEN دالة متقلبة.
نصيحة عملية:إذا لم ترغب في تغيير هذه التعيينات، فانسخ نتائج الصيغة واستخدملصق خاص > قيملتثبيت التعيينات.
السيناريوهات المناسبة:تُعد هذه الطريقة مرنةً ومثاليةً لتلبية الاحتياجات العامة السريعة للتجميع. ومع ذلك، قد يختلف حجم كل مجموعة، مما يجعلها غير مناسبة للحالات التي يتطلب فيها التوزيع المتساوي بدقة.
تحذير:كن حذرًا إذا كانت لديك مجموعة بيانات كبيرة أو كنت بحاجة إلى أحجام مجموعات دقيقة — فكّر في استخدام طرق أخرى لمزيد من التحكّم.

افتح سحر إكسل مع KUTOOLS AI
- التنفيذ الذكي: نفِّذ عمليات الخلايا، وحلِّل البيانات، وأنشئ المخططات البيانية — كل ذلك بأوامر بسيطة!
- الصيغ المخصصة: أنشئ صيغًا مخصصة لتبسيط سير عملك.
- برمجة VBA: اكتب وأَنفِذ أكواد VBA بسلاسة تامة.
- تفسير الصيغ: افهم الصيغ المعقدة بسهولة!
- ترجمة النصوص: اكسر الحواجز اللغوية في جداولك الإلكترونية!
لتوزيع البيانات إلى مجموعات عشوائية تحتوي كلٌّ منها على عدد ثابت من العناصر (مثلًا، 4 أعضاء في كل مجموعة)، يُعدّ دمج دالتي ROUNDUP وRANK في Excel حلاً فعّالًا. وهو مثالي خصوصًا لتعيينات الفصول الدراسية، أو تشكيل فرق متوازنة، أو أي سيناريو يتطلب أحجام مجموعات موحدة.
لتنفيذ هذه الطريقة:
1. أولًا، أضف عمودًا مساعدًا بجانب بياناتك (مثلًا، العمود E)، ثم أدخل في الخلية E2:
=RAND()
اسحب هذه الصيغة لأسفل لتعبئة جميع الخلايا المطلوبة في قائمتك، حيث تقوم دالة RAND بتوليد قيمة عشوائية فريدة لكل عنصر.
2. في العمود التالي (مثلًا، F2)، أدخل الصيغة التالية:
=ROUNDUP(RANK(E2,$E$2:$E$13)/4,0)
هنا:
- E2:E13: غيّر هذا النطاق ليتناسب مع بياناتك، بحيث يشمل جميع الصفوف التي تحتوي على دالة =RAND().
- 4: حجم كل مجموعة. غيّر هذا الرقم إذا أردت استخدام أحجام مجموعات مختلفة.
اسحب مقبض التعبئة لأسفل لتطبيق هذه الصيغة على جميع الصفوف. سيتم الآن تصنيف بياناتك تلقائيًا إلى مجموعات تحتوي كلٌّ منها على نحو 4 عناصر.
إرشادات إضافية:
- إذا لم يكن العدد الإجمالي للعناصر قابلاً للقسمة على حجم المجموعة، فقد تحتوي المجموعة الأخيرة على عددٍ أقل من العناصر.
- بعد التوزيع العشوائي، استخدملصق خاص > قيملتثبيت المجموعات ومنع تغييرها عند إعادة الحساب.
- يؤدي تحديث RAND() إلى إعادة التوزيع العشوائي للمجموعات، وهو أمر مفيد عند الحاجة إلى تعديل التوزيع الأولي.
القيود:لا تسمح لك هذه الطريقة بتحديد اسم المجموعة مباشرةً (بل تولّد أرقام المجموعات)، وقد تؤدي الصيغة إلى إبطاء عمليات إعادة الحساب عند التعامل مع مجموعات بيانات كبيرة.
بالنسبة للمستخدمين ذوي المتطلبات الأكثر تقدمًا—مثل ضمان عدم انتماء أي عضو إلى أكثر من مجموعة واحدة، أو تحقيق توازن دقيق في أحجام المجموعات، أو إعادة التعيين وفقًا لقيود معيّنة—توفّر VBA مرونةً أكبر. ويُعدّ هذا النهج مثاليًا للقوائم الكبيرة أو عند تنفيذ مهام تعيين متكررة. قبل المتابعة، تذكّر دائمًا حفظ ملفك، لأن كود VBA سيُجري تغييرات مباشرة على بياناتك في معظم الحالات.
1. انقر فوقأدوات المطور > Visual Basic لفتح محرر VBA، ثم انقر فوقإدراج > وحدة نمطية. انسخ والصق الكود التالي في الوحدة النمطية الجديدة:
Sub AssignRandomGroups()
Dim GroupCount As Integer
Dim GroupSize As Integer
Dim rng As Range, cell As Range
Dim i As Long, j As Long, idx As Long
Dim arr() As Variant, groupArr() As Variant, grpNum As Integer
Dim ws As Worksheet
Dim totalRows As Integer, remaining As Integer
On Error Resume Next
Set ws = Application.ActiveSheet
Set rng = Application.InputBox("Select the range of data to group", "KutoolsforExcel", Type:=8)
GroupCount = Application.InputBox("Enter the number of groups:", "KutoolsforExcel", 3, Type:=1)
If rng Is Nothing Or GroupCount <= 0 Then Exit Sub
arr = rng.Value
totalRows = UBound(arr, 1)
GroupSize = Int(totalRows / GroupCount)
remaining = totalRows - GroupSize * GroupCount
ReDim groupArr(1 To totalRows)
Dim used() As Boolean
ReDim used(1 To totalRows)
Randomize
For i = 1 To totalRows
Do
idx = Int(Rnd() * totalRows) + 1
Loop While used(idx)
used(idx) = True
groupArr(i) = idx
Next i
For i = 1 To totalRows
grpNum = Int((i - 1) / GroupSize) + 1
If grpNum > GroupCount Then grpNum = GroupCount
rng.Cells(groupArr(i), 1).Offset(0, 1).Value = "Group " & grpNum
Next i
MsgBox "Groups assigned randomly and as evenly as possible.", vbInformation
End Sub 2. بعد ذلك، انقر فوق الزر
لتشغيل الكود. سيتم مطالبتك بتحديد نطاق بياناتك (مثل عمود يحتوي على أسماء أو أرقام هوية)، ثم بإدخال عدد المجموعات التي ترغب في إنشائها. بعد ذلك، ستُعيّن VBA كل صف بيانات إلى مجموعة واحدة، وستضع رقم المجموعة في العمود الموجود مباشرةً على يمينه.
- منع تكرار الإدخالات في التعيينات: يُخصص كل عضو لمجموعة واحدة فقط.
- مجموعات متوازنة: يتم توزيع الأعضاء بأكبر قدر ممكن من التوازن. وإذا تعذّر تقسيم البيانات بشكل متساوٍ تمامًا، فقد تحتوي المجموعة (أو المجموعات) الأخيرة على عضو إضافي أو عضو أقل.
- التخصيص: يمكنك تعديل كود VBA لتغيير نص الإخراج، أو تحديد عمود البدء، أو إضافة قواعد تعيين إضافية.
تحذيرات:يقوم VBA بتعديل بيانات ورقة العمل مباشرةً—لذا تأكد من حفظ نسخة احتياطية قبل التشغيل. وإذا واجهت أخطاءً (مثل تحديد أعمدة أكثر من اللازم)، فراجع اختيارك ومدخلات عدد المجموعات مرة أخرى.
استكشاف الأخطاء وإصلاحها:إذا لم يظهر تبويب المطور، فعَيِّنه من خلالملف > خيارات > تخصيص الشريط > المطور. وفي حال ظهور أي خطأ، تأكد من أن إعدادات ماكرو مفعّلة (ملف > خيارات > مركز الثقة).
مزايا حالات الاستخدام:تُعدّ VBA خيارًا مثاليًا للمستخدمين المتقدمين الذين يحتاجون إلى تحكم دقيق، أو التعامل مع مجموعات بيانات ضخمة، أو أتمتة المهام المتكررة. أما بالنسبة للمهام الأساسية والسريعة، فهي أقل ملاءمة نظرًا لأنها تتطلب تفعيل الماكرو وكتابة الكود أو تعديله.
أفضل أدوات الإنتاجية لمكتبتك
عزِّز مهاراتك في Excel باستخدام Kutools لـ Excel، وعايش الكفاءة كما لم تفعل من قبل.يقدّم Kutools لـ Excel أكثر من 300 ميزة متقدمة لتعزيز الإنتاجية ووقت الحفظ.انقر هنا للحصول على الميزة التي تحتاجها أكثر من غيرها...
يجلب Office Tab واجهة ذات علامات تبويب إلى Office، ويجعل عملك أسهل بكثير
- تمكّن من التحرير والقراءة باستخدام علامات التبويب في Word وExcel وPowerPoint، وPublisher وAccess وVisio وProject.
- افتح وأنشئ مستندات متعددة في علامات تبويب جديدة داخل النافذة نفسها، بدلاً من فتح نوافذ جديدة.
- يزيد إنتاجيتك بنسبة 50% ويوفّر لك مئات نقرات الفأرة كل يوم!
جميع الإضافات من Kutools في برنامج تثبيت واحد!
Kutools for Office حزمةٌ تحتوي على إضافاتٍ مخصصة لتطبيقات Excel وWord وOutlook وPowerPoint، إلى جانب Office Tab Pro، مما يجعلها الخيار المثالي للفِرق التي تعمل عبر تطبيقات Office.
- حزمة شاملة واحدة— إضافات Excel وWord وOutlook وPowerPoint بالإضافة إلى Office Tab Pro
- برنامج تثبيت واحد، ترخيص واحد— الإعداد خلال دقائق (جاهز لـ MSI)
- يعمل بشكل أفضل معًا— إنتاجية ميسَّرة عبر تطبيقات Office
- تجربة مجانية لمدة 30 يومًا بكامل الميزات— بدون تسجيل، بدون بطاقة ائتمان
- أفضل قيمة— وفِّر مقارنةً بشراء الإضافات بشكل منفصل

