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

تقسيم سلاسل النصوص بواسطة فاصل إلى صفوف متعددة - نصائح سريعة من 3

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

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

تقسيم النص إلى صفوف متعددة

فيديو: تقسيم سلاسل النصوص بواسطة فاصل إلى صفوف متعددة

 


الطريقة أ: تقسيم النص المفصول إلى صفوف متعددة باستخدام كود VBA

في هذا القسم، سأعرض لك كود VBA المصمم لمساعدتك في تقسيم محتويات الخلايا المفصولة بفاصل معيّن.

تقسيم النصوص المفصولة بفاصلة أو مسافة أو فاصلة منقوطة وغيرها

لتقسيم سلاسل النصوص المفصولة بفاصل شائع—مثل الفاصلة، المسافة، الفاصلة المنقوطة، الشرطة المائلة، أو غيرها—يمكنك الاعتماد على الكود التالي. اتبع الخطوات التالية:

ملاحظة: لا يدعم هذا الكود خاصية التراجع (Undo)، لذا ننصحك بعمل نسخة احتياطية من بياناتك قبل تطبيقه.

الخطوة 1: افتح محرر وحدة VBA والصق الكود

1. فعّل الورقة التي ترغب في استخدامها، ثم اضغط على مفتاحَيْ «Alt» + "F11" لفتح نافذة «Microsoft Visual Basic for Applications».

2. في النافذة المفتوحة، انقر على «إدراج» > «وحدة» لإنشاء وحدة فارغة جديدة.

3. بعد ذلك، انسخ والصق الكود أدناه في الوحدة الفارغة.

كود VBA: تقسيم النص بواسطة فاصل معيّن (فاصلة، نقطة، مسافة، إلخ.)

Sub SplitTextIntoRows()
'UpdatebyExtendoffice
    Dim xSRg, xIptRg, xCrRg, xRg As Range
    Dim xSplitChar As String
    Dim xArr As Variant
    Dim xFNum, xFFNum, xRow, xColumn, xNum As Integer
    Dim xWSh As Worksheet
    Set xSRg = Application.InputBox("Select a range:", "Kutools for Excel", , , , , , 8)
    If xSRg Is Nothing Then Exit Sub
    xSplitChar = Application.InputBox("Type delimiter:", "Kutools for Excel", , , , , , 2)
    If xSplitChar = "" Then Exit Sub
    Application.ScreenUpdating = False
    xRow = xSRg.Row
    xColumn = xSRg.Column
    Set xWSh = xSRg.Worksheet
    For xFNum = xSRg.Rows.Count To 1 Step -1
        Set xRg = xWSh.Cells.Item(xRow + xFNum - 1, xColumn)
        xArr = Split(xRg, xSplitChar)
        xIndex = UBound(xArr)
        For xFFNum = LBound(xArr) To UBound(xArr)
            xRg.EntireRow.Copy
            xRg.Offset(1, 0).EntireRow.Insert Shift:=xlShiftDown
            xRg.Worksheet.Cells(xRow + xFNum, xColumn) = xArr(xIndex)
            xIndex = xIndex - 1
        Next
        xRg.EntireRow.Delete
    Next
    Application.CutCopyMode = False
    Application.ScreenUpdating = True
End Sub   

الخطوة 2: نفّذ الكود للحصول على النتيجة

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

كود VBA لتحديد الخلايا التي تحتوي على النص المفصول

2. بعد ذلك، انقر على «موافق»، وستظهر نافذة منبثقة أخرى لتذكيرك بإدخال الفاصل الذي ترغب في استخدامه لتقسيم البيانات. هنا، أدخلتُ فاصلة متبوعة بمسافة (، ) — راجع لقطة الشاشة:

كود VBA لكتابة الفاصل الذي سيتم التقسيم بناءً عليه

3. أخيرًا، انقر على زر «موافق». الآن، سترى أن السلاسل النصية المحددة قد تم تقسيمها إلى صفوف بناءً على الفاصلة، مع تكرار بيانات الأعمدة الأخرى ذات الصلة كما هو موضح في لقطات الشاشة أدناه:

تم تقسيم سلاسل النص المحددة إلى صفوف

تقسيم النصوص المفصولة بكسر سطر

إذا كانت محتويات خليتك تحتوي على فواصل بكسور أسطر وتريد تقسيمها إلى صفوف متعددة، فهناك كود VBA آخر يمكنه مساعدتك.

ملاحظة: لا يدعم هذا الكود خاصية التراجع (Undo)، لذا ننصحك بعمل نسخة احتياطية من بياناتك قبل تطبيقه.

الخطوة 1: افتح محرر وحدة VBA والصق الكود

1. اضغط على مفتاحَيْ «Alt» + "F11" لفتح نافذة «Microsoft Visual Basic for Applications».

2. في النافذة المفتوحة، انقر على «إدراج» > «وحدة» لإنشاء وحدة فارغة جديدة.

3. بعد ذلك، انسخ والصق الكود أدناه في الوحدة الفارغة.

كود VBA: تقسيم النص بواسطة كسر السطر

Sub SplitTextIntoRows()
'UpdatebyExtendoffice
    Dim xSRg, xIptRg, xCrRg, xRg As Range
    Dim xSplitChar As String
    Dim xArr As Variant
    Dim xFNum, xFFNum, xRow, xColumn, xNum As Integer
    Dim xWSh As Worksheet
    Set xSRg = Application.InputBox("Select a range:", "Kutools for Excel", , , , , , 8)
    If xSRg Is Nothing Then Exit Sub
    xSplitChar = Chr(10)
    Application.ScreenUpdating = False
    xRow = xSRg.Row
    xColumn = xSRg.Column
    Set xWSh = xSRg.Worksheet
    For xFNum = xSRg.Rows.Count To 1 Step -1
        Set xRg = xWSh.Cells.Item(xRow + xFNum - 1, xColumn)
        xArr = Split(xRg, xSplitChar)
        xIndex = UBound(xArr)
        For xFFNum = LBound(xArr) To UBound(xArr)
            xRg.EntireRow.Copy
            xRg.Offset(1, 0).EntireRow.Insert Shift:=xlShiftDown
            xRg.Worksheet.Cells(xRow + xFNum, xColumn) = xArr(xIndex)
            xIndex = xIndex - 1
        Next
        xRg.EntireRow.Delete
    Next
    Application.CutCopyMode = False
    Application.ScreenUpdating = True
End Sub 

الخطوة 2: نفّذ الكود للحصول على النتيجة

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

كود VBA لتحديد النطاق المراد تقسيمه

2. بعد ذلك، انقر على زر «موافق»، وستُقسَّم البيانات الموجودة في الخلايا المحددة إلى صفوف كما هو موضح في لقطة الشاشة أدناه:

تم تقسيم البيانات في الخلايا المحددة إلى صفوف

الطريقة ب: 10 ثوانٍ لتقسيم النص المفصول إلى صفوف متعددة باستخدام Kutools لـ Excel

إذا كنت قد قمت بتثبيت «Kutools لـ Excel»، فبفضل ميزته الرائعة «تقسيم إلى عدة أسطر»، يمكنك بسهولة تحويل سلاسل النصوص إلى صفوف متعددة باستخدام أي فاصل تحدده. اتبع الخطوات التالية:

Kutools لـ Excelيقدّم أكثر من 300 ميزة متقدمة لتبسيط المهام المعقدة، مما يعزز الإبداع والكفاءة.مزوّد بقدرات الذكاء الاصطناعي، حيث يُتم Kutools المهام تلقائيًا بدقة، مما يجعل إدارة البيانات أمرًا سهلاً للغاية.معلومات تفصيلية عن Kutools لـ Excel...         تجربة مجانية...

الخطوة 1: حدد ميزة تقسيم إلى عدة أسطر

انقر على «Kutools» > «دمج وتقسيم» > «تقسيم إلى عدة أسطر»، راجع لقطة الشاشة:

انقر فوق Kutools > الدمج والتقسيم > تقسيم البيانات إلى صفوف

الخطوة 2: حدد خلايا البيانات والفاصل للاستخدام في التقسيم

في مربع الحوار المنبثق، استخدم الخيارات التالية:

  • 1). حدد قائمة الخلايا التي ترغب في تقسيمها من مربع النص «النطاق (عمود واحد)».
  • 2). بعد ذلك، اختر الفاصل الذي يفصل بياناتك. هنا، سأختار «أخرى» وأدخل فاصلة متبوعة بمسافة (، ) في مربع النص.
  • 3). أخيرًا، انقر على زر «موافق».
حدد خلايا البيانات والفاصل المستخدم للتقسيم في مربع الحوار

الآن، تم تحويل الخلايا المحددة التي تحتوي على سلاسل نصوص مفصولة إلى صفوف متعددة بناءً على الفاصل المحدد، راجع لقطة الشاشة:

تم تحويل الخلايا المحددة إلى صفوف متعددة

نصائح: إذا أردت استعادة البيانات الأصلية، اضغط ببساطة على Ctrl + Z للتراجع.

هل هي سهلة الاستخدام؟ إذا أثارتك هذه الميزة، يُرجىالنقر لتنزيل نسخة تجريبية مجانية لمدة 30 يومًا.


الطريقة ج: تقسيم النص المفصول إلى صفوف متعددة باستخدام Power Query

إذا كنت تستخدم Office 365 أو Excel 2016 أو أي إصدار أحدث، فإن «Power Query» هي أداة قوية تساعدك على تقسيم النص المفصول إلى صفوف أو أعمدة متعددة بسهولة. وتُعدّ مثالية إذا كنت ترغب في تحديث تقسيم البيانات تلقائيًا كلما تغيّرت بياناتك الأصلية. يُرجى اتباع الخطوات التالية لإكمال العملية:

الخطوة 1: إدخال جدول البيانات إلى Power Query

1. حدد نطاق البيانات الذي ترغب في استخدامه، ثم انقر على «بيانات» > «من جدول»، كما هو موضح في لقطة الشاشة:

نصائح: في Excel 2019 وOffice 365، انقر على **بيانات** > **من جدول/نطاق**.

انقر فوق بيانات > من جدول

2. في مربع حialog «إنشاء جدول» المنبثق، انقر على زر «موافق» لإنشاء الجدول. راجع لقطة الشاشة:

انقر فوق زر موافق لإنشاء جدول

3. الآن، تظهر نافذة «محرر Power Query» مع البيانات، كما في لقطة الشاشة التالية:

يظهر نافذة محرر Power Query مع البيانات

الخطوة 2: تنفيذ التحويلات في Power Query

1. حدد العمود الذي ترغب في تقسيمه، ثم انقر على «الصفحة الرئيسية» > «تقسيم العمود» > «بالفاصل». راجع لقطة الشاشة:

انقر فوق الصفحة الرئيسية > تقسيم العمود > بواسطة فاصل

2. في مربع حوار «تقسيم العمود باستخدام فاصل»:

لتقسيم سلاسل النصوص بواسطة فاصلة أو مسافة أو فاصلة منقوطة وغيرها، يُرجى اتباع ما يلي:

  • 1). اختر الفاصل الذي يفصل به بياناتك من القائمة المنسدلة «تحديد أو إدخال فاصل»؛
  • 2). حدد خيار «كل مرة يظهر فيها الفاصل» من قسم «الانقسام عند».
  • 3). بعد ذلك، انقر على «خيارات متقدمة» لتوسيع القسم، ثم اختر «صفوف» ضمن خيار «الانقسام إلى».
  • 4). أخيرًا، انقر على «موافق» لإغلاق هذا المربع الحواري.
حدد الخيارات في مربع الحوار لتقسيم النص بواسطة فاصلة، أو مسافة، أو فاصلة منقوطة، إلخ

لتقسيم سلاسل النصوص إلى صفوف متعددة بواسطة كسر السطر، يُرجى اتباع ما يلي:

  • 1). اختر «مخصص» من القائمة المنسدلة «تحديد أو إدخال فاصل»؛
  • 2). من القائمة المنسدلة «إدراج أحرف خاصة»، انقر على «عودة السيارة»، وسيتم إدراج الأحرف «#(lf)» تلقائيًا في مربع النص الموجود أسفل خيار «مخصص».
  • 3). حدد خيار «كل مرة يظهر فيها الفاصل» من قسم «الانقسام عند».
  • 4). بعد ذلك، انقر على «خيارات متقدمة» لتوسيع القسم، ثم اختر «الصفوف» من ضمن خيار «تقسيم إلى».
  • 5). أخيرًا، انقر على «موافق» لإغلاق هذا المربع الحواري.
حدد الخيارات في مربع الحوار لتقسيم النص بواسطة فاصل سطر

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

تم تقسيم البيانات المحددة إلى صفوف متعددة

الخطوة 3: تصدير Power Query إلى جدول Excel

1. بعد ذلك، قم بتصدير البيانات إلى ورقة العمل الخاصة بك بالنقر على **«الصفحة الرئيسية» > «إغلاق وتحميل» > «إغلاق وتحميل / إغلاق وتحميل إلى»** (سأختار هنا **«إغلاق وتحميل»**)، كما هو موضح في لقطة الشاشة:

انقر فوق الصفحة الرئيسية > إغلاق وتحميل لتحميل البيانات

نصائح: يؤدي النقر على «إغلاق وتحميل» إلى تصدير البيانات إلى ورقة عمل جديدة، بينما يتيح لك اختيار «إغلاق وتحميل إلى» تصدير البيانات إلى أي ورقة أخرى تريدها.

2. أخيرًا، سيتم تحميل البيانات إلى ورقة عمل جديدة—كما هو موضح في لقطة الشاشة التالية:

تم تحميل البيانات في ورقة عمل جديدة

نصائح: إذا كنت بحاجة إلى تحديث بياناتك في الجدول الأصلي بشكل متكرر، فلا داعي للقلق! ما عليك سوى النقر بزر الماوس الأيمن على جدول النتائج، ثم اختيار «تحديث» للحصول على النتيجة الجديدة ديناميكيًا.


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

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