كيفية تكرار الصفوف بناءً على قيمة الخلية في عمود؟
عند العمل مع جداول بيانات Excel، قد تحتاج أحيانًا إلى تكرار الصفوف بالكامل وفقًا لقيمة في عمود محدد. على سبيل المثال، تخيل أن لديك جدول حيث يشير العمود D إلى رقم، وهدفك هو نسخ أو إدراج كل صف عدة مرات حسب القيمة المقابلة للخلية في العمود D. يمكن أن يكون هذا مفيدًا لتوسيع البيانات، وإعداد مجموعات البيانات للاختبار، ومحاكاة المخزون، أو إنشاء خطوط طلبات متكررة. تحقيق ذلك بفعالية دون تكرار يدوي يساعد في الحفاظ على سلامة البيانات ويُسرع بشكل كبير من سير العمل، خاصة بالنسبة للجداول الكبيرة.
![]() | ![]() | ![]() |
تكرار الصفوف عدة مرات بناءً على قيم الخلايا باستخدام كود VBA
نسخ وإدراج الصفوف بناءً على عدد مرات محدد باستخدام أداة عملية - Kutools لـ Excel
تكرار الصفوف عبر تحويل Power Query
تكرار الصفوف عدة مرات بناءً على قيم الخلايا باستخدام كود VBA
إذا كنت بحاجة إلى إنشاء نسخ مكررة للصفوف بالكامل بسرعة وفقًا للقيم الموجودة في عمود محدد (على سبيل المثال، في العمود D)، فإن VBA يقدم حلاً مباشرًا وفعالاً. هذه الطريقة ذات قيمة خاصة عند التعامل مع مجموعات بيانات كبيرة، حيث إنها تؤتمت العملية وتساعد في ضمان الدقة. ومع ذلك، يتطلب العمل مع VBA بعض الإلمام الأساسي بلوحة أدوات Developer في Excel وفهم كيفية تنفيذ الماكروهات. الميزة الرئيسية هي المرونة - يمكن تعديل الكود ليتناسب مع نطاقات مختلفة أو الأعمدة المستهدفة. من ناحية أخرى، إذا لم تكن مرتاحًا لاستخدام VBA أو تمنع سياسات الأمان تشغيل الماكروهات في بيئتك، فالرجاء النظر في أحد الحلول البديلة أدناه.
1. اضغط مع الاستمرار على مفتاحي ALT + F11 لفتح نافذة Microsoft Visual Basic for Applications.
2. انقر فوق Insert > Module، والصق الكود التالي في نافذة الوحدة.
كود VBA: تكرار الصفوف عدة مرات بناءً على قيمة الخلية:
Sub CopyData()
'Updateby Extendoffice
Dim xRow As Long
Dim VInSertNum As Variant
xRow = 1
Application.ScreenUpdating = False
Do While (Cells(xRow, "A") <> "")
VInSertNum = Cells(xRow, "D")
If ((VInSertNum > 1) And IsNumeric(VInSertNum)) Then
Range(Cells(xRow, "A"), Cells(xRow, "D")).Copy
Range(Cells(xRow + 1, "A"), Cells(xRow + VInSertNum - 1, "D")).Select
Selection.Insert Shift:=xlDown
xRow = xRow + VInSertNum - 1
End If
xRow = xRow + 1
Loop
Application.ScreenUpdating = False
End Sub
3. ثم اضغط على مفتاح F5 لتشغيل هذا الكود. سيتم تكرار الصفوف بالكامل عدة مرات بناءً على قيمة الخلية في العمود D بما يطابق متطلباتك.
نسخ وإدراج الصفوف بناءً على عدد مرات محدد باستخدام أداة عملية - Kutools لـ Excel
إذا كنت تفضل استخدام طريقة بدون كتابة الشيفرات البرمجية، أو إذا كنت ترغب في واجهة مستخدم سهلة لإدارة النسخ المكرر للدُفعات، فإن Kutools لـ Excel تقدم حلاً عمليًا. توفر ميزة "نسخ وإدراج الصفوف/الأعمدة بناءً على قيمة الخلية" القدرة على نسخ وإدخال الصفوف بسرعة وفقًا للعدد المحدد في الخلايا ذات الصلة. هذا مثالي لأولئك الذين يتعاملون مع مثل هذه العمليات المتكررة بانتظام وبحاجة إلى عملية مرئية ومخصصة. تحافظ Kutools على التخطيط وتنسيق الجدول الأصلي أثناء النسخ، مما يقلل من خطر حدوث أخطاء عرضية. تعمل هذه الطريقة بسلاسة بغض النظر عن خبرتك في VBA وتعزز الكفاءة بشكل كبير لنطاقات البيانات المتوسطة إلى الكبيرة.
- انقر على Kutools > Insert > Duplicate Rows/Columns Based on Cell Value لتفعيل هذه الميزة؛
- ثم اختر خيار نسخ وإدراج الصفوف، وحدد نطاق الإدراج ومرات التكرار على حدة في مربع الحوار. أكد اختياراتك واضغط على موافق.
تكرار الصفوف عبر تحويل Power Query
يوفر Power Query حلًا قويًا ومتكرر الاستخدام لتكرار الصفوف بناءً على قيمة العمود - مثالي للجداول الكبيرة أو عندما تحتاج إلى تحديث البيانات بشكل متكرر. باستخدام هذه الأداة، يمكنك توسيع الصفوف وفقًا للمؤشرات العددية بدون صيغ أو شفرات. تعمل هذه الطريقة بشكل جيد مع المستخدمين الذين يفضلون عملية مرحلية وبصرية قابلة للتفسير وتتطلب تكرارًا مع تحديثات البيانات المستقبلية.
1. أضف بياناتك إلى جدول Excel (حدد النطاق واضغط على Ctrl+T). انتقل إلى Data > From Table/Range لتحميل الجدول إلى Power Query.
2. في محرر Power Query، حدد لوحة Add Column وانقر على Custom Column.
3. اكتب الصيغة التالية لتوليد قائمة لكل صف وفقًا للقيمة في العمود D. ( ملاحظة: يجب استبدال [D] باسم رأس العمود الحقيقي. على سبيل المثال، هنا سأختار Duplicate Times وانقر على زر Insert لاستبدال وسيلة [D].)
List.Repeat({1}, [D])
4. انقر على زر Expand بجانب العمود المخصص الجديد وانقر على Expand to New Rows.
5. بعد ذلك، يمكنك رؤية أن البيانات تم تكرارها بناءً على القيم في العمود D، انظر إلى لقطة الشاشة:
6. قم بإزالة الأعمدة المساعدة إذا لزم الأمر، وانقر على Close & Load لإعادة البيانات إلى Excel.
أفضل أدوات زيادة الإنتاجية لمجموعة Office
عزز مهاراتك في Excel مع Kutools لـ Excel، وتمتع بكفاءة غير مسبوقة. يقدم Kutools لـ Excel أكثر من300 ميزة متقدمة لتعزيز الإنتاجية وتوفير وقت الحفظ. انقر هنا للحصول على الميزة التي تحتاجها أكثر...
Office Tab يجلب تجربة التبويبات إلى Office، ويجعل عملك أسهل بكثير
- فعّل تحرير وقراءة المستندات عبر التبويبات في Word وExcel وPowerPoint
- افتح وأنشئ مستندات متعددة في تبويبات جديدة ضمن نفس النافذة، بدلاً من فتحها في نوافذ جديدة.
- يمنحك زيادة إنتاجية تصل إلى50% ويوفر عليك مئات النقرات يومياً!