كيف تجد موضع المسافة رقم n في سلسلة Excel؟
عند العمل مع بيانات نصية في Excel، من الشائع أن تصادف خلايا تحتوي على كلمات متعددة مفصولة بمسافات. على سبيل المثال، قد تحتاج إلى معرفة مكان حدوث المسافة الأولى أو المسافة n في كل خلية لتتمكن من معالجة النصوص أو استخراج المعلومات منها. يساعد تحديد موضع حرف المسافة المحدد بكفاءة عند تقسيم الأسماء أو تحليل الرموز أو تنظيم البيانات. يعرض هذا الدليل تقنيات عملية للعثور بسرعة على موضع المسافة الأولى أو الثانية أو أي مسافة n في محتوى خلاياك، كما هو موضح في لقطة الشاشة أدناه. ستكتشف أيضًا كيفية تنظيف المسافات غير المرغوب فيها واستكشاف حلول بديلة لمهام تحديد موقع المسافة بمرونة وفعالية أكبر.
العثور على موضع المسافة n باستخدام صيغة
تحديد موقع المسافة n باستخدام صيغة Excel أكثر مرونة
العثور على موضع المسافة n باستخدام ماكرو VBA
إزالة المسافات البادئة/الزائدة/الداخلية/جميع المسافات من السلسلة النصية![]()
العثور على موضع المسافة n باستخدام صيغة
لتحديد موضع مسافة معيّنة داخل سلسلة نصية، يمكنك الاعتماد على دوال Excel المضمنة. تساعدك كلٌ من الطرق التالية في تحديد موقع المسافة الأولى أو الثانية أو الثالثة أو الرابعة من خلال تداخل دالة FIND. وتُعد هذه الطريقة مثالية للحالات التي يكون فيها عدد المسافات محدودًا ومعروفًا مسبقًا.
| العثور على موضع المسافة الأولى | =FIND(« »,A1) |
| العثور على موضع المسافة الثانية | =FIND(« »,A1,FIND(« »,A1)+1) |
| العثور على موضع المسافة الثالثة | =FIND(« »,A1,FIND(« »,A1,FIND(« »,A1)+1)+1) |
| العثور على موضع المسافة الرابعة | =FIND(« »,A1,FIND(« »,A1,FIND(« »,A1, FIND(« »,A1)+1)+1)+1) |
على سبيل المثال، إذا أردت العثور على موضع المسافة الثانية في كل خلية من قائمة، إليك الطريقة:
اختر خلية فارغة، مثل C2، وأدخل الصيغة التالية:
=FIND(" ",A2,FIND(" ",A2)+1) بعد إدخال الصيغة، اضغط Enter. ولتطبيقها على الخلايا الأخرى، اسحب مقبض التعبئة لأسفل بجانب قائمتك—وسيتم حساب الموضع تلقائيًا لكل سلسلة. انظر لقطة الشاشة:
ملاحظة: إذا كانت الخلية تحتوي على عدد من المسافات أقل من العدد المحدَّد، فستُرجع الصيغة خطأ #VALUE!. يُوصى بالتحقق من بياناتك أو استخدام دوال معالجة الأخطاء مثل IFERROR لتعزيز متانة الحلول.
هذه الطريقة واضحة وسريعة للتعامل مع عدد صغير وثابت من المسافات. أما بالنسبة للنصوص التي تتطلب تحديد مواقع مسافات أكثر أو قيم n ديناميكية، فجرّب الحل الأكثر مرونة باستخدام الصيغة أدناه.
تحديد موقع المسافة n باستخدام صيغة Excel أكثر مرونة
إذا كنت بحاجة إلى تحديد موضع المسافة *n* في سلسلة نصية دون الاضطرار إلى تداخل دوال FIND يدويًا، يمكنك الجمع بين SUBSTITUTE وFIND. تتيح لك هذه الطريقة ضبط موضع المسافة المستهدفة ديناميكيًا بمجرد تغيير مرجع الخلية أو المتغير، مما يجعلها مثالية للنصوص الأطول أو سير عمل Excel المعياري.
على سبيل المثال، افترض أن النص الكامل موجود في الخلية A2 وأن موضع المسافة الذي تريد العثور عليه (مثلًا، المسافة الثالثة) موجود في الخلية B2 (أدخل قيمة n المطلوبة مثل 3 في B2):
=FIND("#",SUBSTITUTE(A2," ","#",B2)) أدخل هذه الصيغة في الخلية C2، ثم انسخها لأسفل لتحليل باقي الصفوف في مجموعة البيانات الخاصة بك. تقوم الصيغة باستبدال المسافة n بالرمز #، ثم تحديد موضعه باستخدام دالة FIND. وتُعدّ هذه الطريقة فعّالة بشكل خاص عندما يختلف موضع المسافة المستهدفة من صفٍ إلى آخر أو عند التعامل مع سلاسل نصية أكثر تعقيدًا.
نصائح:
- تدعم هذه الصيغة قيم **n** الديناميكية، مما يتيح لك الرجوع إلى قيم **n** مختلفة (مثل B2) في كل صف.
- إذا تجاوزت القيمة في الخلية B2 عدد المسافات الموجودة في النص، فسيظهر الخطأ #VALUE!. يمكنك تغليف الصيغة باستخدام
IFERRORللحصول على عرض أكثر ودية للمستخدم، مثل:=IFERROR(FIND("#",SUBSTITUTE(A2," ","#",B2)),"Not Found"). - جرّب استبدال رمز «#» برمزٍ آخر إذا كان نصك يحتوي فعليًّا على هذا الرمز.
يُوصى باستخدام هذه التقنية عند التعامل مع قيم \( n \) المتغيرة أو الأكبر، إذ تعزز الكفاءة في هياكل البيانات الأكثر تعقيدًا.
العثور على موضع المسافة n باستخدام ماكرو VBA
في السيناريوهات التي تتطلب أقصى درجات المرونة أو ترغب فيها بأتمتة العملية لمجموعة بيانات كبيرة، يُعد استخدام ماكرو VBA خيارًا ممتازًا. فباستخدام حل VBA، يمكنك المرور عبر كل حرف في السلسلة النصية، وحساب المسافات، والإبلاغ عن موضع الظهور بدقة—وهو ما يعمل بفعالية حتى مع الهياكل النصية المتنوعة، والجمل الطويلة، أو القيم المطلوبة لـ *n* التي تتغير ديناميكيًّا.
1. انقر فوقأدوات المطور > Visual Basic. عندما تفتح نافذةMicrosoft Visual Basic for Applications، انقر فوقإدراج > وحدة نمطية، والصق الكود التالي في الوحدة النمطية:
Sub PositionOfNthSpace()
Dim txt As String
Dim spaceNum As Integer
Dim i As Integer
Dim cnt As Integer
Dim pos As Integer
On Error Resume Next
xTitleId = "KutoolsforExcel"
txt = Application.InputBox("Enter text to search:", xTitleId, "", Type:=2)
spaceNum = Application.InputBox("Find which space position (n):", xTitleId, 1, Type:=1)
pos = 0
cnt = 0
For i = 1 To Len(txt)
If Mid(txt, i, 1) = " " Then
cnt = cnt + 1
If cnt = spaceNum Then
pos = i
Exit For
End If
End If
Next i
If pos = 0 Then
MsgBox "The string does not contain " & spaceNum & " spaces.", vbExclamation, xTitleId
Else
MsgBox "The position of the " & spaceNum & "th space is: " & pos, vbInformation, xTitleId
End If
End Sub 2. انقر فوق زر التشغيل
لتنفيذ الماكرو. ستظهر لك نافذتا حوار: الأولى لإدخال سلسلتك النصية، والثانية لتحديد موضع المسافة التي تريد العثور عليها (مثلًا، أدخل "3" للمسافة الثالثة). وسيعرض الماكرو موضع الحرف إذا تم العثور عليه، أو ستظهر رسالة تنبيه في حال عدم العثور عليه.
تُعد طريقة VBA هذه خيارًا قويًّا عندما تفشل الصيغ القياسية في تلبية احتياجاتك، أو عندما تحتاج إلى معالجة دفعية لمواقع المسافات ضمن بيانات نصية متنوعة.
إزالة المسافات البادئة/الزائدة/الداخلية/جميع المسافات من السلسلة النصية
غالبًا ما تحتاج إلى تنظيف المسافات غير المرغوب فيها في بياناتك النصية، مثل المسافات البادئة أو الزائدة أو الداخلية أو حتى جميع المسافات. لا يوفّر Excel دالةً مضمنةً لإزالة هذه المسافات دفعةً واحدة، لكنك تستطيع تسريع العملية بدقةٍ وكفاءةٍ باستخدامKutools لـ Excel – وهي إضافةٌ غنيةٌ بالميزات! وتُعدّ أداة حذف الفراغات مثاليةً لتنظيف مجموعات البيانات المستورَدة أو ذات التنسيق السيئ قبل تحليلها أو تقسيم النصوص حسب مواقع المسافات.
بعدالتثبيت المجاني لـKutools لـ Excel، يرجى اتباع الخطوات التالية:
1. حدد السلاسل النصية التي تريد حذف الفراغات منها، ثم انقر فوقKutools > نص > حذف الفراغات. انظر لقطة الشاشة:
2. في مربع حوارحذف الفراغات، اختر الخيار المطلوب ضمننوع الفراغ، مثل إزالة الفراغات الأمامية، أو الخلفية، أو المسافات الزائدة، أو جميع المسافات. ويمكنك معاينة النتيجة مباشرة في قسمالمعاينةقبل التأكيد. انظر لقطة الشاشة:
3. انقر فوقموافقأوتطبيق. سيتم إزالة المسافات غير المرغوب فيها فورًا من السلاسل النصية المحددة.
باختصار، سواء كنت تعمل مع قوائم صغيرة أو مجموعات بيانات ضخمة، يمكنك الاختيار من بين مجموعة متنوعة من الحلول—مثل الصيغ المضمنة، أو الأساليب المرنة، أو ماكرو VBA، أو أدوات الإضافات—لتتناسب تمامًا مع احتياجاتك. فعندما يكون عدد المسافات معروفًا ومحدودًا، يُعد تداخل دالة FIND خيارًا فعّالًا؛ أما في حال القيم الأكبر أو المتغيرة لـ n، فجرّب الجمع بين SUBSTITUTE وFIND، أو استخدم VBA لتحقيق أتمتة مخصصة. ولا تنسَ دائمًا تنظيف السلاسل النصية من المسافات الزائدة مسبقًا لضمان نتائج أكثر موثوقية.
أفضل أدوات الإنتاجية لمكتبتك
عزِّز مهاراتك في 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 يومًا بكامل الميزات— بدون تسجيل، بدون بطاقة ائتمان
- أفضل قيمة— وفِّر مقارنةً بشراء الإضافات بشكل منفصل