يقدم Microsoft Excel مجموعة من الوظائف للعمل مع النص. عندما تريد استخراج جزء من سلسلة نصية أو تقسيم سلسلة إلى صفوف أو أعمدة، فهناك ثلاث وظائف معينة تؤدي هذه المهمة.
باستخدام TEXTBEFORE وTEXTAFTER، يمكنك سحب النص قبل أو بعد كلمة أو حرف معين. وهذا يجعل هذه الوظائف أكثر مرونة من وظائف LEFT وRIGHT وMID التي قد تستخدمها. لتقسيم سلسلة إلى خلايا مختلفة، يمكنك استخدام TEXTSPLIT.
تُعد هذه الوظائف الثلاث جديدة في Excel اعتبارًا من أغسطس 2022. وسيتم طرحها لمستخدمي Office Insider ثم لجميع مستخدمي Excel بمرور الوقت.
دالة TEXTBEFORE
بناء الجملة للوظيفة هو
TEXTBEFORE(text, delimiter, instance, match_mode, match_end, if_not_found)
. الحججتان الأوليتان مطلوبتان مع text
إما أن يكون النص الفعلي أو مرجع خلية و delimiter
كونها النقطة التي تريد أن يصل إليها النص.
فيما يلي أوصاف للحجج الاختيارية الثلاثة:
- مثال:استخدم هذه الحجة إذا كان هناك أكثر من حدوث لـ
delimiter
في السلسلة وتريد واحدة معينة. - وضع المباراة:أدخل 0 لحالة الأحرف الحساسة أو 1 لعدم حساسية الحالة. القيمة الافتراضية هي 0.
- نهاية المباراة:أدخل 0 لعدم مطابقة الفاصل مع نهاية النص و1 لمطابقته. القيمة الافتراضية هي 1.
- إذا لم يتم العثور عليه:استخدم هذه الحجة إذا كنت تفضل الحصول على نتيجة بدلاً من خطأ للقيم غير الموجودة.
الآن بعد أن تعرفت على الحجج، دعنا نلقي نظرة على بعض أمثلة استخدامات TEXTBEFORE.
في هذا المثال الأول، سنستخرج كل النص قبل الكلمة “من” في الخلية A2 باستخدام هذه الصيغة:
=TEXTBEFORE(A2,"from")
باستخدام الصيغة التالية، سوف نستخرج كل النص قبل المثيل الثاني للكلمة “نص”.
=TEXTBEFORE(A2,"text",2)
لمثال آخر، سوف نستخدم match_mode
حجة لمطابقة حساسة لحالة الأحرف.
=TEXTBEFORE(A2,"TEXT",,0)
وظيفة TEXTAFTER
TEXTAFTER هو عكس TEXTBEFORE تمامًا. بناء الجملة للوظيفة هو TEXTAFTER(text, delimiter, instance, match_mode, match_end, if_not_found)
.
مثل نظيره، فإن الحجتين الأوليين مطلوبتان مع text
إما أن يكون النص الفعلي أو مرجع خلية و delimiter
كونها النقطة التي تريد النص بعدها.
تعمل الوسائط الاختيارية الثلاثة الموضحة أعلاه أيضًا بنفس طريقة وظيفة TEXTBEFORE.
في هذا المثال الأول، سوف نقوم باستخراج كل النص بعد الكلمة “من” في الخلية A2 باستخدام هذه الصيغة:
=TEXTAFTER(A2,"from")
باستخدام الصيغة التالية، سوف نستخرج كل النص بعد المثيل الثاني للكلمة “نص”.
=TEXTAFTER(A2,"text",2)
وأخيرًا، سوف نستخدم match_mode
حجة لمطابقة حساسة لحالة الأحرف.
=TEXTAFTER(A2,"TEXT",,0)
دالة TEXTSPLIT
باستخدام وظيفة TEXTSPLIT، يمكنك تقسيم النص إلى خلايا في صف أو عمود استنادًا إلى الفاصل، على سبيل المثال، مسافة أو نقطة.
بناء الجملة هو TEXTSPLIT(text, column_delimiter, row_delimiter, ignore, match_mode, pad_with)
حيث تكون الحجة الأولى مطلوبة ويمكن أن تكون نصًا فعليًا أو مرجع خلية. بشكل افتراضي، تقسم الصيغة النص إلى أعمدة، ولكن يمكنك استخدام الصفوف بدلاً من ذلك باستخدام row_delimiter
دعوى.
وفيما يلي أوصاف للحجج المتبقية:
- يتجاهل:أدخل FALSE لإنشاء خلية فارغة عندما يكون هناك فاصلان متتاليان. القيمة الافتراضية هي TRUE.
- وضع المباراة:يبحث الفاصل عن تطابق مع الوضع الافتراضي حساس لحالة الأحرف.
- وسادة_مع:لتعبئة النتيجة، أدخل قيمة. وإلا، فسيتم عرض الخطأ #N/A.
في هذا المثال، سنقوم بتقسيم سلسلة النص الموجودة في الخلية A2 عبر الأعمدة باستخدام مسافة كـ column_delimiter
بين علامتي الاقتباس. إليك الصيغة:
=TEXTSPLIT(A2," ")
بدلاً من تقسيم السلسلة عبر الأعمدة، سنقوم بتقسيمها عبر الصفوف باستخدام مسافة كـ row_delimiter
مع هذه الصيغة:
=TEXTSPLIT(A2,," ")
لاحظ في هذه الصيغة، نترك column_delimiter
الحجة فارغة واستخدم فقط row_delimiter
.
بالنسبة للمثال التالي، سنقوم بالتقسيم فقط بعد الفاصلة المنقوطة إلى عمود آخر:
=TEXTSPLIT(A2,";")
بعد ذلك، سنقوم بالتقسيم فقط بعد الفاصلة المنقوطة إلى صف بدلاً من عمود:
=TEXTSPLIT(A2,,";")
تعد دالة TEXTSPLIT دالة قوية. إذا كنت تبحث عن أمثلة أكثر تعقيدًا لاستخدام الوسائط الاختيارية، فقم بزيارة صفحة دعم Microsoft لوظيفة TEXTSPLIT.
في المرة القادمة التي تريد فيها استخراج نص من خلية أو تقسيم سلسلة نصية طويلة، ضع في اعتبارك وظائف Excel التالية. ثم عندما تحتاج إلى تجميع السلاسل معًا مرة أخرى، تعرّف على كيفية إضافة نص بسهولة إلى خلية باستخدام صيغة.