اذهب إلى المحتوى

كيفية استخراج أجزاء من النصوص أو دمجها باستخدام الدوال النصيّة في اكسل


Huda Almashta

لقد تعرّفنا في درس سابق على بعض دوال اكسل النصيّة، مثل دالة TRIM لإزالة المسافات الزائدة بين النصوص، الدوال FIND، SEARCH، وREPLACE للبحث عن النصوص واستبدالها، ودالتي UPPER وLOWER لتغيير حالة الأحرف للنصوص الإنجليزية.

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

LEFT

تُستخدم دالة LEFT لاستخراج جزء من النص من جهة اليسار للسلسلة النصية حسب عدد الأحرف الذي نحدده. والصيغة العامة لهذه الدالة هي:

=LEFT(text; [num_chars])

text: النص الذي نريد استخراج جزء منه.

num_chars: عدد الأحرف التي نريد استخراجها. وبما أنّ وجوده اختياري في الصيغة، سيتم افتراض العدد 1 عند عدم تحديد هذه القيمة.

مثال: إذا رغبنا في استخراج كلمة "Text" من نص الخلية B4 نستخدم الدالة LEFT (لأنّ الكلمة تقع في جهة اليسار من السلسلة النصية) ونكتب الصيغة التالية:

1-LEFT.png

قمنا بتحديد الخلية B4 لأنها تحتوي على النص الذي نريد الاستخراج منه، وقمنا بكتابة الرقم 4 لأنّ كلمة "Text" تتكوّن من أربعة حروف. نضغط على مفتاح ENTER لإظهار النتيجة:

2-LEFT-نتيجة.png

إذا لم نحدد قيمة num_chars في الصيغة سيتم افتراض القيمة 1 وإرجاع النتيجة "T" لأنّ هذا الحرف يحتل المرتبة الأولى من جهة اليسار:

3-LEFT-نتيجة 3.png

إذا استخدمنا هذه الدالة مع نص مكتوب باللغة العربية، سينعكس اتجاه عمل الدالة وتقوم باستخراج جزء من النص من جهة اليمين للسلسلة النصية. أي بشكل أدق يمكننا القول أنّ الدالة تستخرج النص الذي يقع في موضع معيّن من بداية السلسلة النصية. على سبيل المثال، إذا قمنا بتطبيق نفس الصيغة أعلاه على الخلية B5:

4-LEFT.png

سيتم استخراج كلمة "دوال" من الخلية، والتي هي في الحقيقة تقع على يمين، وليس يسار، السلسلة النصية:

5-LEFT-نتيجة.png

RIGHT

عمل هذه الدالة معاكس لعمل الدالة السابقة. إذ تقوم باستخراج جزء من النص الذي يقع على يمين السلسلة النصية حسب عدد الأحرف الذي نحدده. والصيغة العامة لها هي:

=RIGHT(text; [num_chars])

text: النص الذي نريد استخراج جزء منه.

num_chars: عدد الأحرف التي نريد استخراجها. وبما أنّ وجوده اختياري في الصيغة، سيتم افتراض العدد 1 عند عدم تحديد هذه القيمة.

مثال: إذا رغبنا في استخراج كلمة "Academy" من النص في الخلية B4 نستخدم الدالة RIGHT (لأنّ الكلمة تقع على يمين السلسلة النصية) ونكتب الصيغة التالية:

6-RIGHT.png

قمنا بإدخال الرقم 7 لأنّ كلمة "Academy" تتكوّن من 7 حروف. نضغط على مفتاح ENTER لإظهار النتيجة:

7-RIGHT-نتيجة.png

MID

تُستخدم دالة MID لاستخراج جزء من النص يقع في مرتبة محددة من بداية السلسلة النصية وحسب عدد الأحرف الذي نحدّده.  الصيغة العامة لهذه الدالة:

=MID(text; start_num; num_chars)

text: النص الذي نريد الاستخراج منه.

start_num: موضع/مرتبة الحرف الأول للنص الذي نريد استخراجه.

num_chars: عدد أحرف النص الذي نريد استخراجه.

مثال: إذا رغبنا في استخراج كلمة "Hsoub" من النص في الخلية B4 باستخدام الدالة MID، نكتب الصيغة التالية:

8-MID.png

قمنا بإدخال الرقم 18 لأنّ الحرف الأول من كلمة "Hsoub" يقع في المرتبة 18، والرقم خمسة لأنّ عدد حروف كلمة "Hsoub" يساوي 5. نضغط على ENTER لإظهار النتيجة:

9-MID-نتيجة.png

CONCATENATE

تُستخدم دالة CONCATENATE لجميع جزأين أو أكثر من النصوص في سلسلة نصيّة واحدة. والصيغة العامة لهذه الدالة هي:

=CONCATENATE(text1; [text2];…)

text1: النص الأول الذي نريد دمجه.

text2: النص الثاني الذي نريد دمجه مع النص الأول.

يمكن أن تكون العناصر التي نريد تجميعها قيم نصّية، رقمية، أو مرجع خلية.

مثال: إذا رغبنا في تجميع النص من خلايا متفرّقة، ولتكن G3  وD7، بالإضافة إلى الرقم "2"، نكتب الصيغة التالية:

10-CONCATENATE.png

قمنا بإدخال مسافة فارغة بين علامتي اقتباس (" ") بعد G3 وD7 لأننا نريد أن نفصل النصوص بمسافة، وإلّا ستظهر الكلمات متلاصقة. نضغط على ENTER لإظهار النتيجة:

11-CONCATENATE-نتيجة.png

لقد نجحنا في المثال بتجميع النصوص من خلايا متفرّقة، أحد هذه النصوص هو نتيجة لصيغة قمنا بتطبيقها سابقًا (كلمة "Text")، والنص الثاني هو عبارة عن قيمة نصيّة (Functions)، أما الأخير فهو قيمة رقمية ("2") قمنا بإدخالها يدويًا في الصيغة.

بإمكاننا أيضًا استخدام علامة العطف (&) لتجميع النصوص بدلًا من الدالة CONCATENATE. على سبيل المثال، إذا رغبنا في جمع النصوص في G4 وG5 باستخدام العلامة & نكتب الصيغة التالية:

12-&.png

علامة & هي في الحقيقة ليست دالة، واستخدامها مشابه تقريبًا لاستخدام علامة الجمع (+) مع القيم الرقمية. نراعي عند جمع النصوص هنا أيضًا وضع مسافة فارغة بين علامتي اقتباس بين النصوص لتلافي تلاصقها. نضغط على ENTER لإظهار النتيجة:

13-& نتيجة.png

EXACT

تُستخدم هذه الدالة للمقارنة بين النصوص والتأكّد فيما إذا كانت متطابقة. فتقوم بإرجاع القيمة المنطقية TRUE إذا كانت متطابقة، والقيمة المنطقية FALSE إن لم تكن كذلك. وتكون دالة EXACT حساسة لتشكيل الأحرف في اللغة العربية وحالتها (صغيرة أو كبيرة) في اللغة الإنجليزية لكنّها لا تقارن تنسيق النص.

الصيغة العامة للدالة:

=EXACT(text1; text2)

text1: النص الأول الذي نريد مقارنته.

text2: النص الثاني الذي نريد مقارنته.

مثال: لمقارنة النصين في الخليتين B3 وC7 نكتب الصيغة التالية:

14-EXACT-نتيجة.png

تم إرجاع النتيجة FALSE لعدم وجود همزة فوق حرف الألف لكلمة "اكاديمية" في الخلية C7، وهذه الدالة كما ذكرنا حسّاسة لتشكيل الأحرف:

15-نتيجة EXACT.png

تسهّل هذه الدالة أيضًا مقارنة الأرقام، فإذا كانت الأرقام طويلة وفي مواضع متفرّقة من الورقة سيكون من الأدق مقارنتها باستخدام دالة EXACT. سنقوم مثلا بمقارنة الرقمين في الخليتين B2 وC6 بكتابة الصيغة التالية:

16-exact2.png

وسنتأكّد من تطابق الرقمين عند إرجاع النتيجة TRUE:

17-نتيجة المقارنة.png

LEN

تقوم هذه الدالة بحساب طول السلسلة النصية فتقوم بإرجاع عدد أحرف النص. والصيغة العامة لها هي:

=LEN(text)

text: النص الذي نريد تطبيق الدالة عليه.

مثال: لحساب عدد أحرف النص في الخلية G6 نكتب الصيغة التالية:

18-LEN.png

سيتم تضمين المسافات بين الكلمات عند إرجاع النتيجة:

19-LEN-نتيجة.png

 بإمكاننا أن نضيف إلى نتيجة هذه الدالة كلمة توضيحية باستخدام العلامة &. على سبيل المثال، لإضافة كلمة "حرف" بعد عدد الأحرف الذي ترجعه الدالة، نكتب الصيغة كالتالي:

20-LEN&.png

والنتيجة:

21-LEN& نتيجة.png

كما بإمكاننا استخدامها مع الدوال الأخرى سالفة الذكر. على سبيل المثال نستطيع استخدامها لحساب عدد أحرف سلسلتين نصيتين مدموجتين باستخدام دالة CONCATENATE. وتكون الصيغة في هذه الحالة كالتالي:

22-LEN-CONCATENATE.png

والنتيجة:

23-نتيجة.png

خاتمة

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

إن كان لديكم أي سؤال بخصوص دوال النصوص تفضّلوا بطرحه في صندوق التعليقات.


تفاعل الأعضاء

أفضل التعليقات

السلام عليكم

شرح رائع ومشكورين جدا

اريد ان ارمز نصا لاسم مركب مثل ( محمد عبد الله ) مثلا بحيث يظهر مح عب مع اضافة رقم 

ماهي الدالة او الدوال المستخدمة 

ولكم الشكر 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

رجاء محتاج مساعده عنى شئت اكسيل به حوالي 2000 رقم محتاج أزيل علامة داش (-) من وسط الرقم الأرقام مثال 

17010400-B01-B00

ارجو تقبل وافر الشكر والتقدير والاحترام مسبقا

رابط هذا التعليق
شارك على الشبكات الإجتماعية

السلام عليكم 

اريد دالة تدمج عدت صفوف لها رقم معرف واحد

مثل ملف اكسل

          A        B

1         1     مروان

2         1    رضوان

3        1    الاسودي 

4       2     عمر

5       2    سلام

6       2    قاسم

عندما اكتب في الخلية 1 يعطينا كل  الصفوف التي رقمها 1 مثل مروان رضوان الاسودي

رابط هذا التعليق
شارك على الشبكات الإجتماعية

بتاريخ 9 ساعة قال Addicted Ruler:

طيب اذا كان عندي حول ال٢٠ الف نص باللغه العربيه وابا ارجع الكلمات كلها الى اصلها (تزدير) كيف اسوي ذا الشي ؟ 

هل يمكنك إيضاح سؤالك بشكل اكبر،

هل الـ 20 الف نص هي تكرار لنفس الكلمة ؟ هل هي في خانة واحدة ؟ هل هي في عمود واحد ؟

رابط هذا التعليق
شارك على الشبكات الإجتماعية

بتاريخ On 1‏/10‏/2022 at 02:24 قال Marwan Alaswadi:

السلام عليكم 

اريد دالة تدمج عدت صفوف لها رقم معرف واحد

مثل ملف اكسل

          A        B

1         1     مروان

2         1    رضوان

3        1    الاسودي 

4       2     عمر

5       2    سلام

6       2    قاسم

عندما اكتب في الخلية 1 يعطينا كل  الصفوف التي رقمها 1 مثل مروان رضوان الاسودي

مرحباً مروان،

يمكنك فعل ذلك باستخدام الدالة التالية  

=CONCATENATE(MAP(A:A, B:B, LAMBDA(X , Y , IF(Y = 1, " "&X&" " , " "))))

CONCATENATE هي عبارة عن دالة تقبل مصفوفة من العناصر وتقوم بجمعها،

=CONCATENATE(A1:A4)

الدالة السابقة ستقوم بجمع كل العناصر من A1 حتى A4.

MAP هي وظيفة تأخد عدة مصفوفات وتسمح لك بعمل LAMBDA لك عنصر من هذه العناصر بشكل حلقة تكرارية حيث في كل دورة يكون المعامل الاول والثاني ..إلخ (عدد المعاملات بحسب عدد المصفوفات) هو عبارة عنصر من هذه المصفوفات.

أي أن LAMBDA في اول دورة ستأخذ A1 و B1 ليكونوا بدلاً من X و Y في الدالة التي ارفتها لك وفي الدورة الثانية A2 و B2 حتى تدور على كل المصفوفة المدخلة، وتقوم بإعادة الخانة الثالثة فيها والتي وضعت فيها الشرط التالي :

IF(Y = 1, " "&X&" " , " ")

والذي يقول : إذا كان Y وهو يعبر عن كل خانة من العمود C وفي الدورة الاولى سيكون C1 مساوياً لـ 1 قم بإرجاع X مع مساحة قبله وبعده " "&X&" " حيث الـ & هي الرمز الخاص بجمع النصوص و X هو يعبر عن كل خانة في العمود A وهو A1 في الدورة الاولى، وإذا لم يكن مساوياً للـ 1 يقوم بإعادة "" وهو عبارة عن نص فارغ.

لاحظ النتيجة :

1.thumb.png.e0a56d35d67da13e454eb4163a9898c5.png

رابط هذا التعليق
شارك على الشبكات الإجتماعية

بتاريخ 13 ساعة قال خالد الخضر2:

السلام عليكم 

احتاج دالة فصل النصوص العربي عن الانجليزي في الخلية الواحدة 

ولكم جزيل الشكر

من الأفضل توفير مثال لما تريده من خلاص صورة مثلاً، وهل تريد فصل النصوص بحيث تصبح في أعمدة مختلفة؟

رابط هذا التعليق
شارك على الشبكات الإجتماعية

شكرا لتجاوبك 

مثال خليه تحتوي على اسماء عربي وانجليزي اريد فصلهم 

العربي يمين والانجلزي يسار , احتاج الى دالة تنقل الاسم العربي فقط 

دالة لفت ورايت ما تنفع لانها تحتاج الى تحديد عدد الحروف 

والاسماء عندي كثير وغير متساوية بعدد  الحروف  

رابط هذا التعليق
شارك على الشبكات الإجتماعية

بتاريخ 2 ساعة قال خالد الخضر2:

شكرا لتجاوبك 

مثال خليه تحتوي على اسماء عربي وانجليزي اريد فصلهم 

العربي يمين والانجلزي يسار , احتاج الى دالة تنقل الاسم العربي فقط 

دالة لفت ورايت ما تنفع لانها تحتاج الى تحديد عدد الحروف 

والاسماء عندي كثير وغير متساوية بعدد  الحروف  

تحتاج إلى استخدام الدالة التالية:

=MID(A2,MATCH(1,0+(MID(A2,MMULT(ROW($1:$99),1),1)>="ء"),0),SUM(AGGREGATE({14,15},6,ROW($1:$99)/(0+(MID(A2,ROW($1:$99),1)>="ء")=1),1)*{1,-1})+1)

وهي تستخدم للبحث عن نص معين داخل الخلية A2 في برنامج Excel، حيث أن البحث يتم في العمود A2 نفسه، وتعتمد الدالة على الدوال MID وMATCH وMMULT وROW وAGGREGATE لتنفيذ البحث.

وتُستخدم الدالة MID لاستخراج مجموعة من الأحرف من النص الموجود في الخلية A2، أما الدالة MATCH تستخدم للبحث عن القيمة 1 في مصفوفة تتكون من القيم البولية الناتجة عن التعبيرات الشرطية، مما يعني أن البحث يتم في النص الموجود في الخلية A2.

 

Snag_5d877b.png

رابط هذا التعليق
شارك على الشبكات الإجتماعية



انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أضف تعليق

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • أضف...