Skip to main content

كيفية استخراج النص قبل / بعد الفراغ الثاني أو الفاصلة في Excel؟

Author: Xiaoyang Last Modified: 2025-08-06

عند العمل مع بيانات النصوص في Excel، قد تواجه بشكل متكرر سلاسل تحتوي على عدة فراغات، فواصل، أو فواصل أخرى. بينما يمكن لميزة النص إلى أعمدة في Excel تقسيم محتوى الخلية إلى أعمدة منفصلة بناءً على الفاصل المختار، هناك أوقات تحتاج فيها إلى حل أكثر تحديدًا - مثل استخراج كل شيء قبل أو بعد الفراغ الثاني أو الفاصلة في الخلية. يوضح هذا المقال عدة طرق عملية لتحقيق ذلك، بما في ذلك الصيغ التي تستهدف النص قبل أو بعد الفراغ الثاني/الفاصة، وحلول قوية باستخدام ماكرو VBA لأتمتة أو مجموعات بيانات أكبر، وخيار متعدد الاستخدامات باستخدام Power Query لمعالجة البيانات المتقدمة.

a screenshot of the original text string and the two segments separated by the second space

استخراج النص قبل الفراغ الثاني أو الفاصلة باستخدام صيغة

استخراج النص بعد الفراغ الثاني أو الفاصلة باستخدام صيغة

استخراج النص قبل أو بعد الفاصل الثاني (فراغ/فاصلة) باستخدام كود VBA


استخراج النص قبل الفراغ الثاني أو الفاصلة باستخدام صيغة

إذا كنت تريد عزل الجزء الموجود في الخلية الذي يظهر قبل الفراغ الثاني، يمكنك استخدام مجموعة من دوال Excel.

1. أدخل الصيغة التالية في خلية فارغة حيث تريد عرض النتيجة (على سبيل المثال، الخلية C2):

=IF(ISERROR(FIND(" ",A2,FIND(" ",A2,1)+1)),A2,LEFT(A2,FIND(" ",A2,FIND(" ",A2,1)+1)))

2. اضغط على Enter. ثم استخدم مؤشر التعبئة لسحب الصيغة لأسفل لجميع الصفوف التي تريد معالجتها. ستعرض النتيجة جميع النصوص قبل الفراغ الثاني في كل صف مطابق - انظر لقطة الشاشة أدناه:

نصيحة: إذا كنت تريد استخراج النص قبل الفاصلة الثانية أو أي فاصل آخر، ما عليك سوى استبدال حرف الفراغ (" ") في الصيغة بالفاصل المطلوب. على سبيل المثال، بالنسبة للفاصلة:

=IF(ISERROR(FIND(",",A2,FIND(",",A2,1)+1)),A2,LEFT(A2,FIND(",",A2,FIND(",",A2,1)+1)))

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

a screenshot of kutools for excel ai

اكتشف سحر Excel مع Kutools AI

  • التنفيذ الذكي: قم بعمليات الخلية، وتحليل البيانات، وإنشاء المخططات - كل ذلك يتم من خلال أوامر بسيطة.
  • الصيغ المخصصة: قم بإنشاء صيغ مصممة خصيصًا لتسهيل سير عملك.
  • برمجة VBA: كتابة وتطبيق أكواد VBA بسهولة.
  • تفسير الصيغ: فهم الصيغ المعقدة بسهولة.
  • ترجمة النصوص: تجاوز الحواجز اللغوية داخل جداول البيانات الخاصة بك.
عزز قدرات Excel لديك باستخدام أدوات تعمل بالذكاء الاصطناعي. قم بالتنزيل الآن وعش تجربة الكفاءة كما لم يحدث من قبل!

استخراج النص بعد الفراغ الثاني أو الفاصلة باستخدام صيغة

للحصول على النص الذي يظهر بعد الفاصل الثاني للفراغ في الخلية، يمكنك استخدام دوال MID و FIND معًا.

1. أدخل الصيغة التالية في الخلية المستهدفة (على سبيل المثال، D2):

=MID(A2, FIND(" ", A2, FIND(" ", A2)+1)+1,256)

2. اضغط على Enter. اسحب مؤشر التعبئة لأسفل عبر جميع الصفوف التي تحتاج إلى استخراج. سيعرض كل شيء بعد الفراغ الثاني لكل صف، كما هو موضح في لقطة الشاشة:

نصيحة: لاستخراج النص بعد الفاصلة الثانية أو أي فاصل آخر، استبدل حرف الفراغ داخل الصيغة بالفاصل المطلوب. بالنسبة للفاصلة، ستكون الصيغة كالتالي:

=MID(A2, FIND(",", A2, FIND(",", A2)+1)+1,256)

استخراج النص قبل أو بعد الفاصل الثاني (فراغ/فاصلة) باستخدام كود VBA

لمجموعات البيانات الأكبر، عمليات الاستخراج المتكررة، أو سيناريوهات الأتمتة، يعد استخدام ماكرو VBA حلاً فعالاً. يسمح لك VBA باستخراج النص قبل أو بعد الفراغ الثاني، الفاصلة، أو أي فاصل آخر - مما يعزز الكفاءة عند العمل مع هياكل بيانات مختلفة أو الحاجة إلى روتين متكرر.

1. حدد Developer > Visual Basic. في نافذة Microsoft Visual Basic for Applications المنبثقة، انقر على Insert > Module، وأدخل الكود التالي في نافذة الوحدة:

Sub ExtractTextSecondDelimiter()
    Dim rng As Range
    Dim cell As Range
    Dim sep As String
    Dim direction As String
    Dim arr As Variant
    Dim result As String
    Dim pos1 As Long
    Dim pos2 As Long
    Dim xTitleId As String
    Dim outputCell As Range
    Dim i As Long
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    Set rng = Application.Selection
    Set rng = Application.InputBox("Select text range to extract from", xTitleId, rng.Address, Type:=8)
    If rng Is Nothing Then Exit Sub
    sep = Application.InputBox("Enter delimiter (e.g. space or comma)", xTitleId, " ", Type:=2)
    If sep = "" Then Exit Sub
    direction = Application.InputBox("Type 'before' for text before, 'after' for text after the 2nd delimiter", xTitleId, "before", Type:=2)
    If direction = "" Then Exit Sub
    Set outputCell = Application.InputBox("Select the first cell to output the result", xTitleId, Type:=8)
    If outputCell Is Nothing Then Exit Sub
    Application.ScreenUpdating = False
    i = 0
    For Each cell In rng
        If Not IsEmpty(cell.Value) Then
            pos1 = InStr(1, cell.Value, sep)
            If pos1 > 0 Then
                pos2 = InStr(pos1 + 1, cell.Value, sep)
                If pos2 > 0 Then
                    If LCase(direction) = "before" Then
                        result = Left(cell.Value, pos2 - 1)
                    ElseIf LCase(direction) = "after" Then
                        result = Mid(cell.Value, pos2 + Len(sep))
                    Else
                        result = cell.Value
                    End If
                Else
                    result = cell.Value
                End If
            Else
                result = cell.Value
            End If
            outputCell.Offset(i, 0).Value = result
        End If
        i = i + 1
    Next
    Application.ScreenUpdating = True
    MsgBox "Extraction completed.", vbInformation, xTitleId
End Sub

2. بعد لصق الكود، انقر على Run button تشغيل الزر، أو اضغط على F5 لتنفيذ. ستظهر نافذة تطلب منك تحديد نطاق بياناتك، ثم أدخل الفاصل، حدد ما إذا كنت تريد النص "قبل" أو "بعد" الحدوث الثاني، وأخيرًا، حدد خلية لإظهار النتيجة. ستقوم الماكرو بإخراج النتيجة المستخرجة في الخلية المحددة.


أفضل أدوات زيادة الإنتاجية لمجموعة Office

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

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


Office Tab يجلب تجربة التبويبات إلى Office، ويجعل عملك أسهل بكثير

  • فعّل تحرير وقراءة المستندات عبر التبويبات في Word وExcel وPowerPoint
  • افتح وأنشئ مستندات متعددة في تبويبات جديدة ضمن نفس النافذة، بدلاً من فتحها في نوافذ جديدة.
  • يمنحك زيادة إنتاجية تصل إلى50% ويوفر عليك مئات النقرات يومياً!