استخراج النص بعد آخر ظهور لحرف معين
إذا كانت لديك قائمة من السلاسل النصية المعقدة التي تحتوي على عدة مُحدِّدات—مثل الشرطات والفواصل والمسافات داخل خلية البيانات، كما في لقطة الشاشة أدناه—وتريد العثور على موضع آخر ظهور للشرطة ثم استخراج الجزء الذي يليها، فسأعرض في هذه المقالة بعض الصيغ الفعّالة لأداء هذه المهمة.

- الصيغة 1: استخراج السلسلة الفرعية بعد آخر ظهور لمحدِّد معين
- الصيغة 2: استخراج السلسلة الفرعية بعد آخر ظهور لمحدِّد معين
الصيغة 1: استخراج السلسلة الفرعية بعد آخر ظهور لمحدِّد معين
في Excel، يمكن لدالة RIGHT المدمجة مع دوال LEN وSEARCH وSUBSTITUTE أن تُسهّل عليك إنشاء صيغة فعّالة لإتمام هذه المهمة.
1. لاستخراج السلسلة الفرعية التي تلي آخر ظهور لحرف الشرطة، أدخل الصيغة التالية أو انسخها في خلية فارغة:
2. بعد ذلك، اسحب مقبض التعبئة لأسفل إلى الخلايا التي تريد تطبيق الصيغة عليها، وستحصل على النتيجة كما في لقطة الشاشة أدناه:

شرح الصيغة:
1. LEN(A2)-LEN(SUBSTITUTE(A2,"-",«»)): يُستخدم هذا الجزء لحساب عدد أحرف الشرطة في الخلية A2.
- LEN(A2): تُرجع دالة LEN العدد الإجمالي للأحرف في الخلية A2، وستكون النتيجة: 44.
- SUBSTITUTE(A2,"-",«»): تُستخدم دالة SUBSTITUTE هذه لاستبدال جميع الشرطات بسلسلة فارغة، لتُنتج النتيجة التالية: “InsertDeleterows, sheets, images, formulas”.
- LEN(SUBSTITUTE(A2,"-",«»): احصل على الطول الإجمالي للنص في الخلية A2 بعد إزالة جميع الشرطات.
- LEN(A2)-LEN(SUBSTITUTE(A2,"-",«»)): اطرح طول السلسلة النصية بعد إزالة الشرطات من طولها الأصلي، وستحصل على عدد الشرطات، وهو 2.
2. SUBSTITUTE(A2,"-",«#»,LEN(A2)-LEN(SUBSTITUTE(A2,"-",«»))): تُستخدم دالة SUBSTITUTE هنا لاستبدال آخر ظهور لشرطة—والذي تم الحصول عليه من صيغة الجزء الأول—بـرمز #، لتُعطيك النتيجة التالية: “Insert-Delete#rows, sheets, images, formulas”.

3. SEARCH(«#»,SUBSTITUTE(A2,"-",«#»,LEN(A2)-LEN(SUBSTITUTE(A2,"-",«»))))=SEARCH(«#», «Insert-Delete#rows, sheets, images, formulas»): سترجع دالة SEARCH موضع رمز # في السلسلة النصية التي أنتجتها دالة SUBSTITUTE، وستحصل على الرقم 14.
4. LEN(A2)-SEARCH(«#»,SUBSTITUTE(A2,"-",«#»,LEN(A2)-LEN(SUBSTITUTE(A2,"-",«»)))): يُستخدم هذا الجزء من الصيغة للحصول على عدد الأحرف الموجودة بعد آخر شرطة، وسوف يُرجع الرقم 30.
5. RIGHT(A2,LEN(A2)-SEARCH(«#»,SUBSTITUTE(A2,"-",«#»,LEN(A2)-LEN(SUBSTITUTE(A2,"-",«»)))))=RIGHT(A2, 30): في النهاية، تُستخدم دالةRIGHTلاستخراج آخر 30 حرفًا من سلسلة النص في الخلية A2—وهو العدد الذي أعادته الصيغة في الخطوة 4.
ملاحظات:
1. إذا كنت بحاجة إلى استخراج النص بعد آخر ظهور لمُحدِّد معين، فما عليك سوى تغيير حرف الشرطة إلى مُحدِّد آخر يناسب احتياجاتك.
2. إذا لم تكن هناك محددات معينة في سلسلة النص، فستُرجع الصيغة السابقة خطأً — راجع لقطة الشاشة:

لإصلاح هذا الخطأ، يمكنك تضمين الصيغة السابقة داخل دالة IFERROR، يُرجى استخدام الصيغة التالية:

الصيغة 2: استخراج السلسلة الفرعية بعد آخر ظهور لمحدِّد معين
هناك صيغة بسيطة أخرى تم إنشاؤها باستخدام دوال TRIM وRIGHT وSUBSTITUTE وREPT وLEN ويمكنها أيضًا مساعدتك في حل هذه المهمة في Excel.
1. يُرجى نسخ الصيغة أدناه أو إدخالها في خلية فارغة للحصول على النتيجة:
2. بعد ذلك، اسحب مقبض التعبئة لأسفل إلى الخلايا التي تريد تطبيق الصيغة عليها، وسيتم استخراج جميع السلاسل الفرعية بعد آخر شرطة كما هو موضح في لقطة الشاشة أدناه:

شرح الصيغة:
1. LEN(A2): تُرجع دالةLEN العدد الإجمالي للأحرف في الخلية A2، وستُستخدم هذه القيمة كوسائطnum_chars في دالةRIGHT. والنتيجة التي ستُرجعها هي: 44.
2. SUBSTITUTE(A2,"-",REPT(« »,LEN(A2))):
- REPT(« »,LEN(A2): تُستخدم دالة REPT هذه لإنشاء سلسلة من المسافات يساوي عددها طول محتوى الخلية A2.
- SUBSTITUTE(A2,"-",REPT(« »,LEN(A2))): تقوم دالة SUBSTITUTE هنا باستبدال كل شرطة في الخلية A2 بسلسلة من المسافات يُولِّدها لك دالة REPT.
سيتم اعتبار صيغة هذا الجزء وسيطًا نصيًّا في دالة RIGHT.
3. RIGHT(SUBSTITUTE(A2,"-",REPT(« »,LEN(A2))),LEN(A2)): تحصل دالةRIGHT هنا على النص من الجانب الأيمن للسلسلة النصية التي أعادتها دالةSUBSTITUTE.
4. TRIM(): تُستخدم دالة TRIM() لإزالة المسافات الزائدة والاحتفاظ بمسافة واحدة فقط بين الكلمات.
الدوال ذات الصلة المستخدمة:
- RIGHT:
- تستخرج الدالة RIGHT عددًا معيّنًا من الأحرف من الجانب الأيمن لسلسلة النص.
- SEARCH:
- تتيح لك دالة SEARCH تحديد موضع حرف أو سلسلة فرعية معيّنة داخل النص المُعطى.
- LEN:
- تُرجع دالة LEN عدد الأحرف الموجودة في السلسلة النصية.
- SUBSTITUTE:
- تقوم دالة SUBSTITUTE في Microsoft Excel باستبدال نص أو أحرف محددة داخل سلسلة نصية بنص أو أحرف أخرى.
- TRIM:
- تقوم دالة TRIM بإزالة جميع المسافات الزائدة من سلسلة النص وتحتفظ فقط بمسافة واحدة بين الكلمات.
- REPT:
- تُستخدم دالة REPT لتكرار الأحرف عددًا معيّنًا من المرات.
المزيد من المقالات:
- استخراج عدة أسطر من خلية واحدة
- إذا كانت لديك قائمة من السلاسل النصية مفصولة بفواصل أسطر (والتي تظهر عند الضغط على مفتاحي Alt + Enter أثناء إدخال النص)، وتريد الآن استخراج هذه الأسطر إلى خلايا متعددة كما هو موضح في لقطة الشاشة أدناه، فكيف يمكنك حل هذه المهمة باستخدام صيغة في Excel؟
- استخراج الكلمة ذات الترتيب N من سلسلة نصية في Excel
- إذا كانت لديك قائمة من السلاسل النصية أو الجُمل، وتريد الآن استخراج الكلمة ذات الترتيب N المحدد من القائمة كما هو موضح في لقطة الشاشة أدناه، ففي هذه المقالة سأعرض بعض الطرق لحل هذه المهمة في Excel.
- استخراج النص بين الأقواس من سلسلة نصية
- إذا كان جزء من النص محصورًا بين قوسين ضمن سلسلة نصية، وتحتاج الآن إلى استخراج كل النصوص الموجودة بين القوسين كما هو موضح في لقطة الشاشة التالية، فكيف يمكنك تنفيذ هذه المهمة في Excel بسرعة وبسهولة؟
- استخراج سلسلة فرعية من سلسلة نصية في Excel
- قد تكون مهمة شائعة لك أن تحتاج إلى استخراج سلاسل فرعية من سلاسل نصية. في Excel، لا توجد دالة مباشرة لهذا الغرض، ولكن بمساعدة دوال LEFT وRIGHT وMID وSEARCH، يمكنك استخراج أنواع مختلفة من السلاسل الفرعية حسب حاجتك.
أفضل أدوات الإنتاجية للمكتب
Kutools لـ Excel - يساعدك على التميز بين الحشود
Kutools لـ Excel يضم أكثر من 300 ميزة،مما يضمن أن ما تحتاجه يكون على بعد نقرة واحدة فقط...
Office Tab - تمكين القراءة والتحرير بعلامات التبويب في Microsoft Office (بما في ذلك Excel)
- ثانية واحدة للتبديل بين عشرات المستندات المفتوحة!
- يوفر لك مئات النقرات يوميًا، وقل وداعًا لألم يد الفأرة!
- يزيد من إنتاجيتك بنسبة 50% عند عرض وتحرير مستندات متعددة.
- يجلب كفاءة علامات التبويب إلى Office (بما في ذلك Excel)، تمامًا كما في Chrome وEdge وFirefox.