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

استخراج النص قبل المسافة الثانية أو الفاصلة باستخدام صيغة
استخراج النص بعد المسافة الثانية أو الفاصلة باستخدام صيغة
استخراج النص قبل أو بعد المُحدِّد الثاني (مسافة/فاصلة) باستخدام كود 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))) يُعد هذا الأسلوب سريعًا وفعالًا للاستخراجات العرضية أو عند التعامل مع مجموعات بيانات متوسطة الحجم. ومع ذلك، إذا كان النص غير منتظم للغاية أو تباين عدد المُحدِّدات بشكل كبير بين الصفوف، فقد تتطلب الصيغة تعديلات إضافية. كما يجب الانتباه إلى المسافات الزائدة أو الخلايا الفارغة، إذ قد تؤثر على النتائج. لذا، تأكد دائمًا من مراجعة الناتج عند تطبيقه على بيانات حرجة.

افتح سحر إكسل مع KUTOOLS AI
- التنفيذ الذكي: نفِّذ عمليات الخلايا، وحلِّل البيانات، وأنشئ المخططات البيانية — كل ذلك بأوامر بسيطة!
- الصيغ المخصصة: أنشئ صيغًا مخصصة لتبسيط سير عملك.
- برمجة VBA: اكتب وأَنفِذ أكواد VBA بسلاسة تامة.
- تفسير الصيغ: افهم الصيغ المعقدة بسهولة!
- ترجمة النصوص: اكسر الحواجز اللغوية في جداولك الإلكترونية!
استخراج النص بعد المسافة الثانية أو الفاصلة باستخدام صيغة
لاستخراج النص الذي يظهر بعد المُحدِّد الثاني في الخلية، يمكنك استخدام دالتي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 حلاً فعّالاً. فهو يمكّنك من استخراج النص قبل أو بعد المسافة الثانية أو الفاصلة أو أي مُحدِّد آخر، مما يعزز كفاءتك عند التعامل مع هياكل بيانات متنوعة أو عند الحاجة إلى إجراء قابل للتكرار.
1. حددالمطور > Visual Basic. في نافذةMicrosoft Visual Basic for Applications المنبثقة، انقر فوقإدراج > وحدة برمجية، ثم أدخل الكود التالي في نافذة الوحدة البرمجية:
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. بعد لصق الكود، انقر فوق الزر
تشغيلأو اضغطF5للتنفيذ. ستظهر نافذة منبثقة تطلب منك تحديد نطاق البيانات الخاص بك، ثم إدخال المُحدِّد، واختيار ما إذا كنت تريد النص «قبل» أم «بعد» التكرار الثاني، وأخيرًا تحديد خلية لإخراج النتيجة. وسيقوم الماكرو بإدخال النتيجة المستخرجة في الخلية التي حددتها.
أفضل أدوات الإنتاجية لمكتبتك
عزِّز مهاراتك في 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.
- حزمة شاملة واحدة— إضافات Excel وWord وOutlook وPowerPoint بالإضافة إلى Office Tab Pro
- برنامج تثبيت واحد، ترخيص واحد— الإعداد خلال دقائق (جاهز لـ MSI)
- يعمل بشكل أفضل معًا— إنتاجية ميسَّرة عبر تطبيقات Office
- تجربة مجانية لمدة 30 يومًا بكامل الميزات— بدون تسجيل، بدون بطاقة ائتمان
- أفضل قيمة— وفِّر مقارنةً بشراء الإضافات بشكل منفصل