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

الطريقة أ: تقسيم النص المفصول إلى عدة صفوف باستخدام كود VBA
في هذا القسم، سأقدم رمزين VBA لمساعدتك على تقسيم محتويات الخلية التي يتم فصلها بواسطة فاصل معين.
تقسيم النص المفصول بفاصلة، مسافة، فاصلة منقوطة، إلخ.
لتقسيم السلاسل النصية التي يتم فصلها بواسطة بعض الفواصل العادية مثل الفاصلة، المسافة، الفاصلة المنقوطة، الشرطة المائلة، إلخ، يمكن للرمز التالي أن يساعدك. يرجى اتباع الخطوات التالية:
ملاحظة: هذا الرمز لا يدعم التراجع، فمن الأفضل عمل نسخة احتياطية من البيانات قبل تطبيق هذا الرمز.
الخطوة 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" لتشغيل هذا الكود. بعد ذلك، ستظهر نافذة منبثقة لتذكيرك باختيار الخلايا التي تحتوي على النص المفصول الذي تريد تقسيمه، انظر لقطة الشاشة:

2. بعد ذلك، انقر فوق "موافق"، ستظهر نافذة أخرى لتذكيرك بإدخال الفاصل الذي تريد تقسيم البيانات بناءً عليه. هنا، أكتب فاصلة ومسافة (، )، انظر لقطة الشاشة:

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

تقسيم النص المفصول بفاصل الأسطر
إذا كانت محتويات خليتك مفصولة بفاصل الأسطر، لتقسيمها إلى عدة صفوف، إليك رمز VBA آخر يمكنه مساعدتك.
ملاحظة: هذا الرمز لا يدعم التراجع، فمن الأفضل عمل نسخة احتياطية من البيانات قبل تطبيق هذا الرمز.
الخطوة 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" لتشغيل هذا الكود. في النافذة المنبثقة، يرجى تحديد الخلايا التي تريد تقسيمها، انظر لقطة الشاشة:

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

الطريقة ب: 10 ثوانٍ لتقسيم النص المفصول إلى عدة صفوف باستخدام Kutools لـ Excel
إذا كنت قد قمت بتثبيت "Kutools لـ Excel"، باستخدام ميزته "تقسيم البيانات إلى صفوف"، يمكنك تقسيم السلاسل النصية إلى عدة صفوف بأي فاصل تحدده. يرجى القيام بالخطوات التالية:
الخطوة 1: حدد ميزة تقسيم البيانات إلى صفوف
انقر فوق "Kutools" > "دمج وتقسيم" > "تقسيم البيانات إلى صفوف"، انظر لقطة الشاشة:

الخطوة 2: حدد خلايا البيانات والفاصل لتقسيمها
في مربع الحوار المنبثق، استخدم الخيارات التالية:
- 1). حدد قائمة الخلايا التي تريد تقسيمها من مربع النص "النطاق (عمود واحد)";
- 2). بعد ذلك، اختر الفاصل الذي يفصل بياناتك، هنا، سأختار "آخر" وأكتب فاصلة ومسافة (، ) في مربع النص;
- 3). وأخيرًا، انقر فوق زر "موافق".

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

نصائح: إذا كنت تريد استعادة البيانات الأصلية، ما عليك سوى الضغط على Ctrl + Z للتراجع.
هل كان من السهل استخدامه؟ مهتم بهذه الميزة؟ يرجى النقر لتنزيل نسخة تجريبية مجانية لمدة 30 يومًا.
الطريقة ج: تقسيم النص المفصول إلى عدة صفوف باستخدام استعلام الطاقة
إذا كنت تستخدم Office 365 أو Excel 2016 والإصدارات الأحدث، فإن "استعلام الطاقة" هو أداة قوية يمكنها مساعدتك في تقسيم النص المفصول إلى عدة صفوف أو أعمدة. يكون مفيدًا إذا كنت تريد تحديث البيانات المقسمة عند تغيير بياناتك الأصلية. يرجى اتباع الخطوات التالية لإكمالها:
الخطوة 1: الحصول على جدول البيانات في استعلام الطاقة
1. حدد نطاق البيانات الذي تريد استخدامه، ثم انقر فوق "بيانات" > "من الجدول"، انظر لقطة الشاشة:
نصائح: في Excel 2019 وOffice 365، انقر فوق بيانات > من الجدول/النطاق.

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

3. الآن، يتم عرض نافذة "محرر استعلام الطاقة" مع البيانات، انظر لقطة الشاشة:

الخطوة 2: إجراء التحويلات في استعلام الطاقة
1. حدد العمود الذي تريد تقسيمه. وبعد ذلك، انقر فوق "الصفحة الرئيسية" > "تقسيم العمود" > "بواسطة الفاصل"، انظر لقطة الشاشة:

2. في مربع الحوار "تقسيم العمود بواسطة الفاصل":
لتقسيم السلاسل النصية بواسطة فاصلة، مسافة، فاصلة منقوطة، إلخ. يرجى القيام بما يلي:
- 1). اختر الفاصل الذي تفصل به بياناتك من قائمة "اختيار أو إدخال الفاصل" المنسدلة;
- 2). حدد "كل ظهور للفاصل" من قسم "تقسيم عند";
- 3). بعد ذلك، انقر فوق "خيارات متقدمة" لتوسيع القسم، وحدد "صفوف" أسفل "تقسيم إلى";
- 4). وأخيرًا، انقر فوق "موافق" لإغلاق مربع الحوار هذا.

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

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

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

نصائح: النقر فوق إغلاق وتحميل سيخرج البيانات إلى ورقة عمل جديدة؛ بالنقر فوق خيار إغلاق وتحميل إلى، سيتم إخراج البيانات إلى أي ورقة أخرى تحتاج إليها.
2. أخيرًا، سيتم تحميل البيانات إلى ورقة عمل جديدة، انظر لقطة الشاشة:

نصائح: إذا كنت بحاجة إلى تحديث بياناتك في الجدول الأصلي بشكل متكرر، فلا داعي للقلق، ما عليك سوى النقر بزر الماوس الأيمن على جدول النتائج والنقر فوق "تحديث" للحصول على النتائج الجديدة ديناميكيًا.
مقالات ذات صلة:
- تقسيم قيم الخلية إلى عدة أعمدة
- في Excel، عندما تريد تقسيم قائمة من قيم الخلية إلى عدة أعمدة بواسطة فواصل معينة مثل الفاصلة، المسافة، النقطة، السطر الجديد، إلخ، عادةً، قد تساعدك ميزة "النص إلى أعمدة" المدمجة على إكمال هذه المهمة خطوة بخطوة. في هذه المقالة، سأتحدث عن بعض الحيل الجيدة لك لتقسيم قيم الخلية إلى عدة أعمدة أو صفوف بسهولة وسرعة.
- تقسيم الخلية إلى عدة صفوف أو أعمدة
- لنفترض أن لديك خلية واحدة تحتوي على محتويات متعددة مفصولة بحرف معين، على سبيل المثال، الفاصلة المنقوطة، وبعد ذلك تريد تقسيم هذه الخلية الطويلة إلى عدة صفوف أو أعمدة بناءً على الفاصلة المنقوطة، في هذه الحالة، هل لديك أي طرق سريعة لحلها في Excel؟
- تقسيم السلسلة النصية حسب الحالة
- في Excel، عادةً نقوم بتقسيم النص حسب العرض الثابت أو الفاصل باستخدام وظيفة "النص إلى أعمدة"، لكن هل جربت تقسيم النص حسب الأحرف الكبيرة والصغيرة؟ على سبيل المثال، لديك قائمة من البيانات، وتحتاج إلى تقسيمها إلى عمودين بناءً على الحالة: عمود يحتوي على سلسلة صغيرة، والآخر يحتوي على سلسلة كبيرة كما هو موضح في لقطة الشاشة أدناه. وظيفة "النص إلى أعمدة" لا تدعم هذه العملية، ومع ذلك، يمكنني تقديم حيلة لتقسيم السلسلة النصية حسب الحالة بسرعة في Excel.
- تقسيم الرقم إلى أرقام فردية
- لنفترض أنك بحاجة إلى تقسيم أو فصل الرقم إلى أرقام فردية كما هو موضح في لقطة الشاشة أدناه، ما الذي يمكنك فعله لتحقيق ذلك؟ ستوفر هذه المقالة طريقتين لك.
أفضل أدوات الإنتاجية لمكتب العمل
عزز مهاراتك في Excel مع Kutools لـ Excel، واختبر الكفاءة كما لم يحدث من قبل. Kutools لـ Excel يقدم أكثر من300 ميزة متقدمة لزيادة الإنتاجية وتوفير وقت الحفظ. انقر هنا للحصول على الميزة التي تحتاجها أكثر...
Office Tab يقدم واجهة التبويب لـ Office، ويجعل عملك أسهل بكثير
- تمكين تحرير وقراءة المستندات عبر التبويبات في Word وExcel وPowerPoint.
- افتح وأنشئ عدة مستندات في تبويبات جديدة ضمن نفس النافذة، بدلاً من فتحها في نوافذ منفصلة.
- يزيد إنتاجيتك بنسبة50%، ويقلل مئات النقرات بالماوس يومياً!