كيف يمكن تقسيم قائمة طويلة إلى مجموعات متساوية في Excel؟

عند العمل مع مجموعات بيانات كبيرة في Excel، قد تواجه حالات تحتاج فيها إلى تقسيم قائمة طويلة من العناصر إلى عدة مجموعات متساوية. على سبيل المثال، قد تحتاج إلى توزيع ردود الاستبيانات، أو إنشاء مهام متوازنة، أو تنظيم فرق لمشروع ما. إن تقسيم هذه القوائم يدويًا قد يستغرق وقتًا طويلاً ويكون عرضةً للأخطاء، خاصةً مع البيانات الواسعة النطاق. ويساعد تقسيم القوائم بكفاءة إلى مجموعات متساوية في تبسيط سير العمل، وتحسين تنظيم البيانات، وتقليل احتمالية حدوث الأخطاء.
يوفّر Excel عدة طرق عملية لتحقيق ذلك—تتراوح بين أتمتة VBA والوظائف الإضافية المفيدة مثل Kutools لـ Excel، وصولًا إلى التقنيات القائمة على الصيغ. ولكل نهجٍ مزاياه الفريدة التي تجعله مناسبًا لمستويات مهارة وسيناريوهات مختلفة.
تقسيم قائمة طويلة إلى مجموعات متساوية متعددة باستخدام كود VBA
تقسيم قائمة طويلة إلى مجموعات متساوية متعددة باستخدام Kutools لـ Excel
تقسيم قائمة طويلة إلى مجموعات متساوية متعددة باستخدام صيغة Excel
تقسيم قائمة طويلة إلى مجموعات متساوية متعددة باستخدام كود VBA
بخلاف الطريقة الشاقة المتمثلة في نسخ البيانات ولصقها يدويًّا في مجموعات منفصلة واحدة تلو الأخرى، يمكن لـ VBA أن يُبسّط هذه المهمة ويجعلها أسرع وأدق. فيما يلي دليلٌ خطوة بخطوة لتقسيم قائمتك إلى مجموعات متساوية باستخدام VBA:
1. اضغط مع الاستمرار على مفتاحَيALT + F11 لفتح نافذة محررمايكروسوفت Visual Basic for Applications.
2. انقر فوقإدراج > وحدة نمطية (Module)، ثم الصق كود VBA التالي في نافذةالوحدة النمطية (Module)التي تم إنشاؤها حديثًا.
كود VBA: تقسيم قائمة طويلة إلى مجموعات متساوية متعددة
Sub SplitIntoCellsPerColumn()
'updateby Extendoffice
Dim xRg As Range
Dim xOutRg As Range
Dim xCell As Range
Dim xTxt As String
Dim xOutArr As Variant
Dim I As Long, K As Long
On Error Resume Next
xTxt = ActiveWindow.RangeSelection.Address
Sel:
Set xRg = Nothing
Set xRg = Application.InputBox("please select data range:", "Kutools for Excel", xTxt, , , , , 8)
If xRg Is Nothing Then Exit Sub
If xRg.Areas.Count > 1 Then
MsgBox "does not support multiple selections, please select again", vbInformation, "Kutools for Excel"
GoTo Sel
End If
If xRg.Columns.Count > 1 Then
MsgBox "does not support multiple columns,please select again", vbInformation, "Kutools for Excel"
GoTo Sel
End If
Set xOutRg = Application.InputBox("please select a cell to put the result:", "Kutools for Excel", , , , , , 8)
If xOutRg Is Nothing Then Exit Sub
I = Application.InputBox("the number of cell per column:", "Kutools for Excel", , , , , , 1)
If I < 1 Then
MsgBox "incorrect enter", vbInformation, "Kutools for Excel"
Exit Sub
End If
ReDim xOutArr(1 To I, 1 To Int(xRg.Rows.Count / I) + 1)
For K = 0 To xRg.Rows.Count - 1
xOutArr(1 + (K Mod I), 1 + Int(K / I)) = xRg.Cells(K + 1)
Next
xOutRg.Range("A1").Resize(I, UBound(xOutArr, 2)) = xOutArr
End Sub 3. اضغط علىF5 أو انقر فوق زرتشغيل (Run)لتنفيذ الكود. في مربع الإدخال الذي يظهر، حدد عمود البيانات الذي ترغب في تقسيمه إلى مجموعات.
4. انقر فوقموافق (OK)، ثم في المطالبة التالية، حدد الخلية الابتدائية التي تريد وضع نتائج التجميع فيها.
5. انقر فوقموافق (OK)، ثم أدخل عدد العناصر التي ترغب في وجودها في كل مجموعة (كل عمود) في مربع الحوار.
6. أخيرًا، انقر فوقموافق (OK)لإكمال العملية. سيقوم الكود تلقائيًا بتقسيم القائمة المحددة إلى أعمدة متعددة، يحتوي كل منها على العدد المحدد من العناصر. ملاحظة: إذا لم يُمكن تقسيم القائمة بالتساوي تمامًا إلى مجموعات متساوية، فقد تحتوي المجموعة الأخيرة على عدد أقل من العناصر.
يُعد حل VBA خيارًا مثاليًا للمستخدمين المتمرسين في استخدام الماكروات وأتمتة المهام المتكررة. ومن أبرز مزاياه مرونته العالية، إذ يمكنك تشغيل البرنامج النصي مع أحجام مجموعات مختلفة دون الحاجة إلى أي تهيئة إضافية. ومع ذلك، وبما أنه يعتمد على الكود، فقد لا يكون مسموحًا به في جميع البيئات المهنية، لذا يُنصح المستخدمون غير المطلعين على VBA بحفظ أعمالهم قبل تشغيل الماكرو.
إذا لم يعمل الماكرو كما هو متوقع، فتحقق مما إذا كانت الماكرو مفعَّلة في Excel. أيضًا، تأكد من أنك حددت عمودًا واحدًا مستمرًا؛ وإلا فسيطلب منك الكود إعادة تحديد نطاق البيانات. وإذا لم يكن طول قائمتك قابلًا للقسمة تمامًا على حجم المجموعة، فستحتوي المجموعة الأخيرة على عدد أقل من العناصر، لذا ضع ذلك في الاعتبار عند تخطيط التوزيع.
تقسيم قائمة طويلة إلى مجموعات متساوية متعددة باستخدام Kutools لـ Excel
إذا كان لديكKutools لـ Excelمثبَّتًا، فإن ميزةتحويل النطاقالخاصة به تتيح لك إعادة ترتيب قائمة طويلة إلى مجموعات متعددة عبر الأعمدة والصفوف بنقرات قليلة فقط. وتقلل هذه الطريقة من الأخطاء الناتجة عن المعالجة اليدوية، وتجعل تنظيم البيانات أكثر كفاءة بكثير. كما يضيف Kutools طبقة احترافية من سهولة الاستخدام للمستخدمين الأقل خبرة تقنيًا، مع مربعات حوار بديهية ونتائج موثوقة.
بعد تثبيتKutools لـ Excel، يُرجى القيام بما يلي:
1. حدد القائمة الطويلة التي تريد تقسيمها، ثم انتقل إلىKutools > نطاق (Range) > تحويل النطاق.
2. في مربع حوارتحويل النطاق، اخترعمود واحد إلى نطاقضمننوع التحويل، وفعِّل الخيارقيمة ثابتة، ثم أدخل العدد المطلوب من العناصر في كل صف. (على سبيل المثال، إذا كنت تريد أربع مجموعات، فحدِّد حجم المجموعة وفقًا لذلك.) وهذا يحدد كيفية تقسيم قائمتك الأصلية.
3. انقر فوقموافق (OK)، ثم حدد خلية في ورقة العمل الخاصة بك لتبدأ منها نتيجة التجميع.
4. انقر فوقموافق (OK)مرة أخرى، وسيقوم Kutools على الفور بتقسيم قائمتك الطويلة إلى مجموعات متساوية الحجم وفقًا لإعداداتك.
يتميّز Kutools لـ Excel بسهولة الاستخدام ويُجنبك الأخطاء اليدوية، ما يجعله الخيار المثالي للمستخدمين الذين يفضلون واجهات الرسوميات والتحويلات المتكررة للبيانات.
حمِّل Kutools لـ Excel وجربه مجانًا الآن!
تقسيم قائمة طويلة إلى مجموعات متساوية متعددة باستخدام صيغة Excel
إذا كنت تفضل تجنُّب استخدام VBA أو الوظائف الإضافية، فإن صيغ Excel المدمجة قادرة أيضًا على مساعدتك في تقسيم قائمتك إلى مجموعات متساوية بكفاءة. وتُعد هذه الطريقة خيارًا مثاليًا لأولئك الذين يبحثون عن حلٍّ قابل للنقل، ومتوافق مع جميع إصدارات Excel، وآمن للاستخدام في دفاتر العمل المشتركة أو البيئات التي تكون فيها الماكرو والوظائف الإضافية من جهات خارجية مقيدة. وتعمل هذه الطريقة بأفضل شكل عندما تكون مجموعاتك مُعدَّة للعرض جنبًا إلى جنب في الأعمدة.
فيما يلي كيفية تعيين أرقام المجموعات لكل إدخال، بحيث يمكنك بسهولة تصفية قائمتك أو إعادة تنظيمها حسب المجموعات دون الحاجة إلى أي برمجة:
1. افترض أن قائمتك الطويلة تقع في العمود A، بدءًا من الخلية A2 فما دون. في الخلية B2 (المجاورة لأول عنصر في قائمتك)، أدخل الصيغة التالية لتعيين أرقام المجموعات:
=MOD(ROW(A2)-ROW($A$2),4) +1 في هذا المثال، يمثل "4" عدد المجموعات التي تريدها. غيّر هذه القيمة إذا كنت ترغب في تقسيم القائمة إلى عدد مختلف من المجموعات. وتقوم الصيغة بالتناوب على أرقام المجموعات من 1 إلى 4.
2. اسحب الصيغة لأسفل بجانب قائمتك بالكامل لتعيين أرقام المجموعات لجميع الصفوف، وستحصل على عمود مساعد يصنّف كل صف وفقًا لمجموعته.
3. لاستخراج المجموعات أو عرضها:
- يمكنك استخدام المرشحات: طبِّق مرشح تلقائي (AutoFilter) على قائمتك وصفِّ السجلات حسب رقم المجموعة لفصلها بسرعة.
- يمكنك نسخ كل مجموعة ولصقها في مواقع منفصلة، أو استخدام صيغ متقدمة أو جداول محورية (PivotTables) لإعادة ترتيب العناصر بالشكل الذي يناسب احتياجاتك.
إذا كنت تستخدم Excel مع دعم المصفوفات الديناميكية (Microsoft 365 وExcel 2021+)، فيمكنك تقسيم قائمة إلى أعمدة متساوية الحجم تلقائيًا باستخدام دالةWRAPROWS. افترض أن قائمتك موجودة في النطاق A2:A17، وتريد تقسيمها إلى 4 أعمدة (مجموعات):
=WRAPROWS(SORTBY(A2:A13, RANDARRAY(ROWS(A2:A13))), 4) أدخل هذه الصيغة في الخلية التي ترغب في أن يبدأ منها ترتيب مجموعة جديدة، ثم اضغط على Enter. بعد ذلك، ستقوم الصيغة تلقائيًا بملء الأعمدة بأجزاء متساوية من قائمتك.
- إذا لم يُمكن تقسيم قائمتك بشكلٍ متساوٍ تمامًا، فقد يحتوي العمود (أو الأعمدة) على نتائج خطأ #N/A. قم بتعديل عدد المجموعات (هنا "4") حسب الحاجة ليتناسب بدقة مع حالتك.
- في حال وجود خلايا فارغة في النطاق، سيتم التعامل معها كأنها صفر في النتائج المجمَّعة.
تتميّز طريقة الصيغ بتوافقها الكامل مع دفاتر العمل المشتركة وقدرتها على إعادة حساب أرقام المجموعات بسرعة فور تغيّر البيانات. ومع ذلك، تتطلب كتابة الصيغ أو تعديلها دقةً في التفاصيل—فأي عدم تطابق في النطاقات أو تحديد أعداد مجموعات غير صحيحة قد يؤدي إلى فقدان الإدخالات أو تكرارها. فإذا لاحظت أخطاءً، فتأكد من أن نطاق قائمتك صحيح وأنك سحبت الصيغ لأسفل على طول القائمة بأكملها.
كنصيحة، احفظ دائمًا نسخة احتياطية قبل تطبيق الصيغ على البيانات الأصلية، واستخدملصق خاص > قيم (Values)بعد ترتيب المجموعات إذا كنت تنوي حذف أعمدة المساعدة.
أفضل أدوات الإنتاجية لمكتبتك
عزِّز مهاراتك في 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 يومًا بكامل الميزات— بدون تسجيل، بدون بطاقة ائتمان
- أفضل قيمة— وفِّر مقارنةً بشراء الإضافات بشكل منفصل