KutoolsforOffice — حل واحد، خمس أدوات قوية.تحقيق المزيد بجهد أقل.

نصائح Excel: تقسيم البيانات إلى ورقات عمل متعددة / مصنفات بناءً على قيمة العمود

المؤلفXiaoyangتاريخ التعديل

عند إدارة مجموعات بيانات كبيرة في Excel، يُعدّ تقسيم البيانات إلى أوراق عمل متعددة وفقًا لقيم عمود التحديد خيارًا بالغ الفائدة؛ إذ لا يحسّن هذا الأسلوب تنظيم البيانات فحسب، بل يعزز قابلية القراءة ويسهّل تحليلها بشكل أكثر فعالية.

افترض أن لديك سجلاً كبيرًا للمبيعات يحتوي على إدخالات متعددة، مثل اسم المنتج والكمية المباعة في الربع الأول. ويهدف هذا إلى تقسيم البيانات تلقائيًا إلى أوراق عمل منفصلة لكل اسم منتج، مما يتيح لك تحليل أداء مبيعات كل منتج على حدة بسهولة وفعالية.

تقسيم البيانات إلى ورقات عمل متعددة بناءً على قيمة العمود

تقسيم البيانات إلى مصنفات متعددة بناءً على قيمة العمود باستخدام كود VBA

تقسيم البيانات إلى أوراق عمل متعددة بناءً على قيمة العمود


تقسيم البيانات إلى ورقات عمل متعددة بناءً على قيمة العمود

عادةً، يمكنك فرز قائمة البيانات أولاً، ثم نسخها ولصقها واحدة تلو الأخرى في مصنفات أو أوراق عمل جديدة. لكن هذه الطريقة تتطلب منك التحلي بالصبر لتحمل التكرار في عمليات النسخ واللصق. وفي هذا القسم، سنقدّم طريقتين مباشرتين لأداء هذه المهمة في Excel بكفاءة، مما يوفّر وقتك ويقلل من احتمال وقوع الأخطاء.

تقسيم البيانات إلى ورقات عمل متعددة بناءً على قيمة العمود باستخدام كود VBA

1. اضغط مع الاستمرار على مفتاحَيALT + F11 لفتح نافذةمايكروسوفت فيجوال بيسك للتطبيقات.

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

Sub Splitdatabycol()
'updateby Extendoffice
Dim lr As Long
Dim ws As Worksheet
Dim vcol, i As Integer
Dim icol As Long
Dim myarr As Variant
Dim title As String
Dim titlerow As Integer
Dim xTRg As Range
Dim xVRg As Range
Dim xWSTRg As Worksheet
Dim xWS As Worksheet
On Error Resume Next
Set xTRg = Application.InputBox("Please select the header rows:", "Kutools for Excel", "", Type:=8)
If TypeName(xTRg) = "Nothing" Then Exit Sub
Set xVRg = Application.InputBox("Please select the column you want to split data based on:", "Kutools for Excel", "", Type:=8)
If TypeName(xVRg) = "Nothing" Then Exit Sub
vcol = xVRg.Column
Set ws = xTRg.Worksheet
lr = ws.Cells(ws.Rows.Count, vcol).End(xlUp).Row
title = xTRg.AddressLocal
titlerow = xTRg.Cells(1).Row
icol = ws.Columns.Count
ws.Cells(1, icol) = "Unique"
Application.DisplayAlerts = False
If Not Evaluate("=ISREF('xTRgWs_Sheet!A1')") Then
Sheets.Add(after:=Worksheets(Worksheets.Count)).Name = "xTRgWs_Sheet"
Else
Sheets("xTRgWs_Sheet").Delete
Sheets.Add(after:=Worksheets(Worksheets.Count)).Name = "xTRgWs_Sheet"
End If
Set xWSTRg = Sheets("xTRgWs_Sheet")
xTRg.Copy
xWSTRg.Paste Destination:=xWSTRg.Range("A1")
ws.Activate
For i = (titlerow + xTRg.Rows.Count) To lr
On Error Resume Next
If ws.Cells(i, vcol) <> "" And Application.WorksheetFunction.Match(ws.Cells(i, vcol), ws.Columns(icol), 0) = 0 Then
ws.Cells(ws.Rows.Count, icol).End(xlUp).Offset(1) = ws.Cells(i, vcol)
End If
Next
myarr = Application.WorksheetFunction.Transpose(ws.Columns(icol).SpecialCells(xlCellTypeConstants))
ws.Columns(icol).Clear
For i = 2 To UBound(myarr)
ws.Range(title).AutoFilter field:=vcol, Criteria1:=myarr(i) & ""
If Not Evaluate("=ISREF('" & myarr(i) & "'!A1)") Then
Set xWS = Sheets.Add(after:=Worksheets(Worksheets.Count))
xWS.Name = myarr(i) & ""
Else
xWS.Move after:=Worksheets(Worksheets.Count)
End If
xWSTRg.Range(title).Copy
xWS.Paste Destination:=xWS.Range("A1")
ws.Range("A" & (titlerow + xTRg.Rows.Count) & ":A" & lr).EntireRow.Copy xWS.Range("A" & (titlerow + xTRg.Rows.Count))
Sheets(myarr(i) & "").Columns.AutoFit
Next
xWSTRg.Delete
ws.AutoFilterMode = False
ws.Activate
Application.DisplayAlerts = True
End Sub

3. بعد ذلك، اضغط على مفتاحF5 لتشغيل الكود، فتظهر نافذة منبثقة لتذكيرك باختيار صف الرؤوس؛ ثم انقر علىموافق. انظر لقطة الشاشة:
تقسيم البيانات إلى أوراق عمل باستخدام كود VBA لتحديد صف العنوان

4. في مربع الحوار الثاني، يرجى تحديد بيانات العمود التي تريد استخدامها كأساس للتقسيم، ثم انقر علىموافق. انظر لقطة الشاشة:
تقسيم البيانات إلى أوراق عمل باستخدام كود VBA لتحديد نطاق البيانات

5. تم تقسيم جميع البيانات في ورقة العمل النشطة إلى أوراق عمل متعددة بناءً على قيم العمود، ويتم تسمية أوراق العمل الناتجة وفقًا للقيم الموجودة في خلايا التقسيم، ثم توضع في نهاية المصنف. انظر لقطة الشاشة:
تقسيم البيانات إلى أوراق عمل باستخدام كود VBA للحصول على النتيجة

 

تقسيم البيانات إلى ورقات عمل متعددة بناءً على قيمة العمود باستخدام Kutools لـ Excel

Kutools لـ Excelتوفّر ميزة ذكية – تقسيم البياناتمباشرةً في بيئة Excel الخاصة بك. لم يعد تقسيم البيانات إلى أوراق عمل متعددة يشكّل تحديًا بعد الآن! تقوم أداة Kutools البديهية بتقسيم مجموعة البيانات تلقائيًا بناءً على قيمة العمود المحدَّد أو عدد الصفوف، لتضع كل جزء من المعلومات بالضبط حيث تحتاجه. ودّع المهمة المرهقة المتمثلة في تنظيم جداول البيانات يدويًا، واعتمد طريقة أسرع وخالية من الأخطاء لإدارة بياناتك.

ملاحظة:لتطبيق هذه تقسيم البيانات، يجب عليك أولاً تنزيلKutools لـ Excel، ثم تطبيق الميزة بسرعة وسهولة.

بعد تثبيتKutools لـ Excel، حدد نطاق البيانات، ثم انقر علىKUTOOLS PLUS > تقسيم البياناتلفتح مربع حوارتقسيم البيانات إلى ورقات عمل متعددة.

  1. اخترتحديد العمودمن ضمنأساس التقسيم، ثم اختر القيمة التي تريد التقسيم بناءً عليها من القائمة المنسدلة.
  2. إذا كانت بياناتك تحتوي على رؤوس وأردت إدراجها في كل ورقة عمل جديدة بعد التقسيم، ففعّل خيارتشمل العناوين (يمكنك تحديد عدد صفوف العناوين بناءً على بياناتك. على سبيل المثال، إذا كانت بياناتك تحتوي على رأسين، فاكتب 2.)
  3. بعد ذلك، ضمن قسماسم ورقات العمل المنشأة، يمكنك تحديد اسم ورقة العمل التقسيم عن طريق اختيار قاعدة اسم ورقة العمل من القائمة المنسدلة، كما يمكنك إضافةبادئةأولاحقةإلى أسماء الأوراق أيضًا.
  4. انقر على زرموافق. راجع لقطة الشاشة:
    تقسيم البيانات إلى أوراق عمل باستخدام Kutools لتعيين العمليات

الآن، تم تقسيم البيانات من ورقة العمل الأصلية إلى أوراق عمل متعددة ضمن ورقة عمل جديدة.
تقسيم البيانات إلى أوراق عمل باستخدام Kutools للحصول على النتيجة


تقسيم البيانات إلى مصنفات متعددة بناءً على قيمة العمود باستخدام كود VBA

في بعض الأحيان، بدلاً من تقسيم البيانات إلى أوراق عمل متعددة، قد يكون من الأفضل فصلها إلى مصنفات مستقلة وفقًا للعمود الرئيسي. فيما يلي دليلٌ خطوة بخطوة يوضح كيفية استخدام كود VBA لأتمتة تقسيم البيانات إلى مصنفات متعددة بناءً على القيم الموجودة في عمود التحديد.

1. اضغط مع الاستمرار على مفتاحALT + F11 لفتح نافذةمايكروسوفت فيجوال بيسك للتطبيقات.

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

Sub SplitDataByColToWorkbooks()
    ' Updateby Extendoffice
    Dim lr As Long
    Dim ws As Worksheet
    Dim vcol, i As Integer
    Dim myarr As Variant
    Dim title As String
    Dim titlerow As Integer
    Dim xTRg As Range
    Dim xVRg As Range
    Dim xWS As Workbook
    Dim savePath As String
    ' Set the directory to save new workbooks
    savePath = "C:\Users\AddinsVM001\Desktop\multiple files\" ' Modify this path as needed
    Application.DisplayAlerts = False
    Set xTRg = Application.InputBox("Please select the header rows:", "Kutools for Excel", Type:=8)
    If TypeName(xTRg) = "Nothing" Then Exit Sub
    Set xVRg = Application.InputBox("Please select the column you want to split data based on:", "Kutools for Excel", Type:=8)
    If TypeName(xVRg) = "Nothing" Then Exit Sub
    vcol = xVRg.Column
    Set ws = xTRg.Worksheet
    lr = ws.Cells(ws.Rows.Count, vcol).End(xlUp).Row
    title = xTRg.Address(False, False)
    titlerow = xTRg.Row
    ws.Columns(vcol).AdvancedFilter Action:=xlFilterCopy, CopyToRange:=ws.Cells(1, ws.Columns.Count), Unique:=True
    myarr = Application.Transpose(ws.Cells(1, ws.Columns.Count).Resize(ws.Cells(ws.Rows.Count, ws.Columns.Count).End(xlUp).Row).Value)
    ws.Cells(1, ws.Columns.Count).Resize(ws.Cells(ws.Rows.Count, ws.Columns.Count).End(xlUp).Row).ClearContents
    For i = 2 To UBound(myarr)
        Set xWS = Workbooks.Add
        ws.Range(title).AutoFilter Field:=vcol, Criteria1:=myarr(i)
        ws.Range("A" & titlerow & ":A" & lr).SpecialCells(xlCellTypeVisible).EntireRow.Copy
        xWS.Sheets(1).Cells(1, 1).PasteSpecial Paste:=xlPasteAll
        xWS.SaveAs Filename:=savePath & myarr(i) & ".xlsx"

        xWS.Close SaveChanges:=False
    Next i
    ws.AutoFilterMode = False
    Application.DisplayAlerts = True
    ws.Activate
End Sub
ملاحظة: في الكود أعلاه، يجب تغيير مسار الملف إلى المسار الخاص بك حيث سيتم حفظ فصل المصنف في هذا السكربت:savePath = «C:\Users\AddinsVM001\Desktop\multiple files\».

3. بعد ذلك، اضغط على مفتاحF5 لتشغيل الكود، وستظهر نافذة منبثقة لتذكيرك باختيار صف الرؤوس. انقر بعد ذلك علىموافق. انظر لقطة الشاشة:
تقسيم البيانات إلى مصنفات عمل باستخدام كود VBA لتحديد صف العنوان

4. في مربع الحوار الثاني، يرجى تحديد بيانات العمود التي تريد استخدامها كأساس للتقسيم، ثم انقر علىموافق. انظر لقطة الشاشة:
تقسيم البيانات إلى مصنفات عمل باستخدام كود VBA لتحديد نطاق البيانات

5. بعد التقسيم، تُقسَّم جميع البيانات في ورقة العمل النشطة إلى مصنفات متعددة بناءً على قيم العمود، ويتم حفظ كل مصنف منفصل في المجلد الذي حددته. انظر لقطة الشاشة:
تقسيم البيانات إلى مصنفات عمل باستخدام كود VBA للحصول على النتيجة

مقالات ذات صلة:

  • تقسيم البيانات إلى ورقات عمل متعددة حسب عدد الصفوف
  • يمكن أن يُسهّل تقسيم مجموعة بيانات كبيرة إلى أوراق عمل Excel متعددة—بناءً على عدد معيّن من الصفوف—إدارة البيانات بكفاءة وفعالية. فعلى سبيل المثال، يؤدي تقسيم البيانات كل 5 صفوف إلى جعلها أكثر تنظيمًا وسهولة في الإدارة. ويقدّم هذا الدليل طريقتين عمليتين لإتمام هذه المهمة بسرعة وسلاسة.
  • دمج جدولين أو أكثر في جدول واحد بناءً على العمود الرئيسي
  • افترض أن لديك ثلاث جداول في مصنف واحد، وترغب الآن في دمجها في جدول واحد بناءً على الأعمدة الرئيسية المقابلة للحصول على النتيجة الموضحة في لقطة الشاشة أدناه. قد تبدو هذه المهمة صعبة للعديد منا، لكن لا داعي للقلق—ففي هذه المقالة، سأعرض عليك بعض الطرق الفعّالة لحل هذه المشكلة.
  • تقسيم سلاسل النصوص بواسطة محدّد إلى صفوف متعددة
  • عادةً، يمكنك استخدام ميزة «النص إلى أعمدة» لتقسيم محتويات الخلايا إلى أعمدة متعددة باستخدام محدّد معيّن، مثل الفاصلة أو النقطة أو الفاصلة المنقوطة أو الشرطة المائلة وغيرها. لكن في بعض الأحيان، قد تحتاج إلى تقسيم محتويات الخلايا التي تحتوي على محددات إلى صفوف متعددة، مع تكرار البيانات من الأعمدة الأخرى كما هو موضح في لقطة الشاشة أدناه. هل تبحث عن طرق فعّالة لأداء هذه المهمة في Excel؟ سيقدّم لك هذا البرنامج التعليمي بعض الطرق الفعّالة لإكمال هذه المهمة في Excel.
  • تقسيم محتويات الخلايا متعددة الأسطر إلى صفوف/أعمدة منفصلة
  • افترض أن خليةً ما تحتوي على نصٍّ يتكون من أسطر متعددة مفصَّلة باستخدام Alt + Enter، وتحتاج الآن إلى تقسيم هذا المحتوى إلى صفوف أو أعمدة منفصلة. فماذا يمكنك أن تفعل؟ في هذه المقالة، ستتعلم كيفية تقسيم محتويات الخلايا متعددة الأسطر بسرعة إلى صفوف أو أعمدة منفصلة.

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

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

عزِّز مهاراتك في 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.

ExcelWordOutlookTabsPowerPoint
  • حزمة شاملة واحدة— إضافات Excel وWord وOutlook وPowerPoint بالإضافة إلى Office Tab Pro
  • برنامج تثبيت واحد، ترخيص واحد— الإعداد خلال دقائق (جاهز لـ MSI)
  • يعمل بشكل أفضل معًا— إنتاجية ميسَّرة عبر تطبيقات Office
  • تجربة مجانية لمدة 30 يومًا بكامل الميزات— بدون تسجيل، بدون بطاقة ائتمان
  • أفضل قيمة— وفِّر مقارنةً بشراء الإضافات بشكل منفصل