Note: The other languages of the website are Google-translated. Back to English

كيفية استخراج الكلمة الأولى / الأخيرة / nth من سلسلة نصية في إكسيل؟

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


استخراج الكلمة الأولى أو اسم العائلة من سلسلة نصية باستخدام الصيغ

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

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

= IF (ISERR (FIND (""، A2))، ""، LEFT (A2، FIND (""، A2) -1))

لاستخراج الكلمة الأخيرة من كل خلية ، يرجى تطبيق هذه الصيغة:

= IF (ISERR (FIND (""، A2))، ""، RIGHT (A2، LEN (A2) -FIND ("*"، SUBSTITUTE (A2، ""، "*"، LEN (A2) -LEN ( الاستبدال (A2، ""، "")))))

والآن سترى الكلمة الأولى أو الأخيرة مستخرجة من كل خلية.

الملاحظات: في الصيغ أعلاه ، A2 يشير إلى الخلية التي سيتم استخراج الكلمة الأولى أو الأخيرة منها.

من الصعب حفظ الصيغ الطويلة المعقدة؟ أداة مذهلة تساعدك على استخراج nth wبعدة نقرات فقط!

لا يمكن للصيغ الطويلة أعلاه سوى استخراج الكلمة الأولى والأخيرة ، ولكن لن تكون مجدية لاستخراج الكلمة n المحددة ، ويقول الكلمة الثانية ، والكلمة السادسة ، إلخ. حتى يمكنك اكتشاف الصيغ لحل المشكلة ، يجب أن تكون الصيغ معقدة للغاية بحيث لا يمكن حفظها وتطبيقها. هنا ، يوصى باستخراج الكلمة nth في الخلية من Kutools for Excel ، وسوف تساعدك على استخراج الكلمة n بأسهل ما يمكن!


كوتولس ل إكسيل - يتضمن أكثر من 300 أداة يدوية لبرنامج Excel. نسخة تجريبية مجانية كاملة الميزات 30اليوم ، لا حاجة لبطاقة ائتمان! احصل عليه الآن

استخراج الكلمة nth من سلسلة نصية باستخدام User Defined Function

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

1. اضغط باستمرار على ALT + F11 مفاتيح لفتح نافذة ميكروسوفت فيسوال باسيك للتطبيقات.

2. انقر إدراج > وحدة، والصق الكود التالي في ملف وحدة نافذة.

Function FindWord(Source As String, Position As Integer)
'Update 20131202
Dim arr() As String
arr = VBA.Split(Source, " ")
xCount = UBound(arr)
If xCount < 1 Or (Position - 1) > xCount Or Position < 0 Then
    FindWord = ""
Else
    FindWord = arr(Position - 1)
End If
End Function

3. ثم احفظ الكود ، في هذا المثال ، سأحصل على الكلمة الثالثة من السلسلة ، لذا اكتب هذه الصيغة = findword (A2,3،XNUMX) في خلية فارغة B2 ، ثم اسحب مقبض الملء التلقائي لهذه الخلية إلى النطاق الذي تريده. انظر لقطة الشاشة:

ملاحظة: في الصيغة أعلاه ، A2 هي الخلية التي تريد استخراج كلمة منها ، الرقم 3 يشير إلى الكلمة الثالثة في السلسلة التي ستستخرجها ، ويمكنك تغييرها حسب حاجتك.


استخرج كل كلمة من سلسلة نصية وسردها أفقيًا أو رأسيًا

ستقدم هذه الطريقة Kutools for Excel تقسيم الخلايا أداة لاستخراج كل كلمة من خلايا سلسلة نصية ، ثم سرد الكلمات المستخرجة أفقيًا أو رأسيًا بناءً على حاجتك.

كوتولس ل إكسيل - يتضمن أكثر من 300 أداة يدوية لبرنامج Excel. نسخة تجريبية مجانية كاملة الميزات 30اليوم ، لا حاجة لبطاقة ائتمان! تجربة مجانية الآن!

1. حدد خلايا سلسلة النص التي ستستخرج كلماتها منها ، وانقر فوق كوتولس > دمج وتقسيم > تقسيم الخلايا.

2. في شاشة فتح Split Cells ، حدد نوع الانقسام في ملف النوع القسم، تحقق من فضاء الخيار في حدد فاصل ، ثم انقر فوق Ok زر. انظر لقطة الشاشة:

3. حدد الآن نطاق الوجهة الذي ستخرج فيه الكلمات المستخرجة ، وانقر فوق OK زر

إذا قمت بفحص ملف انقسام إلى أعمدة الخيار في مربع الحوار Split Cells أعلاه ، يتم استخراج كل كلمة من كل سلسلة نصية ويتم سردها عموديًا.

إذا قمت بفحص ملف انقسام إلى صفوف الخيار في مربع الحوار Split Cells أعلاه ، يتم استخراج كل كلمة من كل سلسلة نصية ويتم سردها أفقيًا.


استخرج الكلمة التاسعة من سلسلة نصية في Excel باستخدام أداة رائعة

إذا كنت قد قمت بتثبيت Kutools for Excel ، فيمكنك استخدام Formula Helper> استخراج الكلمة nth في ميزة الخلية لاستخراج الكلمة n بسرعة من الخلية المحددة بسهولة.

كوتولس ل إكسيل - يتضمن أكثر من 300 أداة يدوية لبرنامج Excel. نسخة تجريبية مجانية كاملة الميزات 30اليوم ، لا حاجة لبطاقة ائتمان! تجربة مجانية الآن!

1. حدد الخلية التي ستضع الكلمة المستخرجة فيها ، وانقر فوق كوتولس > مساعد الصيغة > مساعد الصيغة لتمكين هذه الميزة.

2. في مربع حوار مساعد الصيغ ، يرجى القيام بما يلي:
(شنومكس) حدد نص من نوع الصيغة قائمة منسدلة؛
(2) انقر للتمييز استخراج الكلمة nth في الخلية في ال اختر صيغة مربع القائمة
(3) في الموبايل مربع ، حدد الخلية التي ستستخرج كلمة منها ؛
(4) في ن مربع ، حدد الرقم.

3. انقر على Ok زر. إذا لزم الأمر ، يرجى سحب مقبض الملء التلقائي لخلية الصيغة ونسخ الصيغة إلى خلايا أخرى.


عرض توضيحي: استخرج كل كلمة من سلسلة نصية وسردها أفقيًا أو رأسيًا


كوتولس ل إكسيل يتضمن أكثر من 300 أداة يدوية لبرنامج Excel ، يمكن تجربتها مجانًا دون قيود في غضون 30 يومًا. تنزيل وتجربة مجانية الآن!

مقالات ذات صلة:


أفضل أدوات إنتاجية المكتب

Kutools for Excel يحل معظم مشاكلك ويزيد إنتاجيتك بنسبة 80٪

  • إعادة استخدام: أدخل بسرعة الصيغ المعقدة والرسوم البيانية وأي شيء استخدمته من قبل ؛ تشفير الخلايا مع كلمة السر إنشاء قائمة بريدية وإرسال رسائل البريد الإلكتروني ...
  • سوبر فورميولا بار (بسهولة تحرير أسطر متعددة من النص والصيغة) ؛ تخطيط القراءة (قراءة وتحرير أعداد كبيرة من الخلايا بسهولة) ؛ لصق في النطاق المصفى
  • دمج الخلايا / الصفوف / الأعمدة دون فقدان البيانات ؛ تقسيم محتوى الخلايا ؛ ادمج الصفوف / الأعمدة المكررة... منع تكرار الخلايا؛ قارن النطاقات
  • حدد مكرر أو فريد صفوف حدد صفوف فارغة (جميع الخلايا فارغة) ؛ البحث الفائق والبحث الغامض في العديد من المصنفات. تحديد عشوائي ...
  • نسخة طبق الأصل خلايا متعددة بدون تغيير مرجع الصيغة ؛ إنشاء المراجع تلقائيًا إلى أوراق متعددة أدخل الرموز النقطية، مربعات الاختيار والمزيد ...
  • استخراج النص، إضافة نص ، إزالة حسب الموضع ، إزالة الفضاء؛ إنشاء وطباعة المجاميع الفرعية لترحيل الصفحات ؛ التحويل بين محتوى الخلايا والتعليقات
  • سوبر تصفية (حفظ وتطبيق مخططات التصفية على أوراق أخرى) ؛ فرز متقدم حسب الشهر / الأسبوع / اليوم ، التكرار والمزيد ؛ مرشح خاص بواسطة bold، italic ...
  • اجمع بين المصنفات وأوراق العمل؛ دمج الجداول على أساس الأعمدة الرئيسية ؛ تقسيم البيانات إلى أوراق متعددة; تحويل دفعة xls و xlsx و PDF
  • أكثر من 300 ميزة قوية. يدعم Office / Excel 2007-2021 و 365. يدعم جميع اللغات. سهولة النشر في مؤسستك أو مؤسستك. الميزات الكاملة نسخة تجريبية مجانية لمدة 30 يومًا. ضمان استرداد الأموال لمدة 60 يومًا.
علامة تبويب kte 201905

يجلب Office Tab الواجهة المبوبة إلى Office ، ويجعل عملك أسهل بكثير

  • تمكين التحرير والقراءة المبوبة في Word و Excel و PowerPointوالناشر والوصول و Visio والمشروع.
  • فتح وإنشاء مستندات متعددة في علامات تبويب جديدة من نفس النافذة ، بدلاً من النوافذ الجديدة.
  • يزيد من إنتاجيتك بنسبة 50٪ ، ويقلل مئات النقرات بالماوس كل يوم!
أوفيسيتاب القاع
فرز التعليقات حسب
التعليقات (38)
لا يوجد تقييم. كن أول من يقيم!
تم تصغير هذا التعليق بواسطة المشرف على الموقع
كود vba رائع ، شكرا جزيلا.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
هذه الوظيفة المعرفة من قبل المستخدم رائعة! شكرا جزيلا لمشاركته
تم تصغير هذا التعليق بواسطة المشرف على الموقع
شكرًا جزيلاً! عملت بشكل جيد! :-)
تم تصغير هذا التعليق بواسطة المشرف على الموقع
كان هذا مفيدًا للغاية ، كنت أتساءل عما إذا كان أي شخص يعرف أن هناك قائمة قابلة للتنزيل ، أو قائمة قابلة للنسخ واللصق للوظائف اليدوية المفيدة مثل "FindWord" التي سأتمكن من استخدامها.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا ، كنت أتساءل فقط ما الذي يمكنني إدراجه في صيغة Visual Basic التي يمكن أن تستخرج وفاصلات أو شرطات بشكل فوري بعد البيانات .. على سبيل المثال Fortin-
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبا هذا ممتاز. لقد عملت بشكل جيد للغاية وتقلل من إجهادنا وتوفر الكثير من الوقت في هذه العملية. شكرا لكل من عمل على هذا وشارك ...
تم تصغير هذا التعليق بواسطة المشرف على الموقع
هذا جيد. هذا عمل بشكل جيد جدا
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا ، هذا حقًا يوفر الكثير من الوقت. شكرًا للمشاركة ، هل يمكن لشخص ما أن يقترح أيضًا كيف يمكننا استخراج الكلمات باستخدام vba بطريقة عكسية ، على سبيل المثال ، الكلمة الأخيرة هي 1 ، والثانية من اليمين إلى اليسار هي 2 وهكذا. سيكون هذا موضع تقدير كبير.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
هذا لا يعمل بشكل صحيح على سلسلة مصدر مكونة من غير كلمات (مثل أسماء البائعين متبوعة بأرقام الأجزاء)
تم تصغير هذا التعليق بواسطة المشرف على الموقع
كيف يمكننا تغيير الخطوط للكلمة nth في الخلية
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مقدر جدا. لقد ساعدتني كثيرا.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا ، شكرًا على قطعة الكود الخاصة بك. ألهمني ذلك للتوسع قليلاً. مع الأسطر التالية ، يمكنك تحديد: الكلمة الأخيرة (0) ، واحدة ولكن الأخيرة (-1) ، الثانية إلى الأخيرة (-2) إلخ. بغض النظر عن عدد الكلمات. الوظيفة FindWord (المصدر كسلسلة ، الموضع كرقم صحيح) 'تحديث 20150504 Dim arr () As String arr = VBA.Split (Source، "") xCount = UBound (arr) حدد موضع الحالة Case -xCount To 0 FindWord = arr (xCount + الموضع) الحالة 1 إلى (xCount + 1) FindWord = arr (Position - 1) Case Else FindWord = "" End Select End Function
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا ، مجرد إضافة إلى الرمز أمس. يضيف هذا سطرًا إضافيًا لضبطه للمسافات الزائدة في السلسلة المصدر: arr = VBA.Split (WorksheetFunction.Trim (Source)، "") ، التحيات ، Allart
تم تصغير هذا التعليق بواسطة المشرف على الموقع
شكرا ، آلان ، هذا رائع ، شكرا! :)
تم تصغير هذا التعليق بواسطة المشرف على الموقع
شكرا جزيلا جدا !!
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا .. شكرًا لك على الكود ، لدي قائمة جمل ، وواحدة منها كلمة واحدة فقط ، ولا يعمل الرمز الخاص بك إذا كان يحتوي على كلمة واحدة فقط ..
تم تصغير هذا التعليق بواسطة المشرف على الموقع
لا يمكنني الحصول على رمز الكلمة الأولى للعمل إذا كانت بعض قائمتي تحتوي على كلمة واحدة فقط في الخلية. على سبيل المثال الكلمة الأولى ---> الأولى الثانية ---> [خالية] الكلمة الأخيرة ---> الأخيرة
تم تصغير هذا التعليق بواسطة المشرف على الموقع
جرب هذا (انظر إجابتي أعلاه): وظيفة FindWord (المصدر كسلسلة ، الموضع كعدد صحيح) 'تحصل على الأول والثاني والأخير (1) والثاني إلى الأخير (-2) وما إلى ذلك ، كلمة من سلسلة' تحديث 0 Dim arr ( ) مثل String arr = VBA.Split (WorksheetFunction.Trim (Source)، "") xCount = UBound (arr) حدد حالة الحالة -xCount حتى 2 FindWord = arr (Position + xCount) الحالة 20150505 إلى xCount + 0 FindWord = arr (الموضع - 1) Case Else FindWord = "" End Select
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا أيها المهوسون ، لدي خلية مثل هذه: 1 ABCD ؛ 2 DEDF ؛ 1 DED # 3D ؛ 4 FDWDS ؛ 1 ED وأود استخراج الحرف بعد 1. لذا أرغب في الحصول على نتيجة على النحو التالي: ABCD ؛ DED # 3d ؛ ED
تم تصغير هذا التعليق بواسطة المشرف على الموقع
لدي 64 بت في Excel 2013 وأفتقد الوظيفة الإضافية Morefunc. بناءً على الكود أعلاه ، توصلت إلى هذا الاستبدال لوظيفة WMID الخاصة بـ Morefunc. سأكون ممتنًا لو قام أي شخص أكثر خبرة مني بترتيب ذلك. الوظيفة WMid1 (المصدر كسلسلة ، الموضع الاختياري كعدد صحيح ، عدد الكلمات الاختياري كعدد صحيح ، فاصل اختياري كسلسلة) Dim arr () كسلسلة Dim xCount كعدد صحيح Dim wCount كعدد صحيح خافت w أولًا كعدد صحيح خافت كعدد صحيح إذا كان الموضع = 0 ثم الموضع = 1 إذا كان WordCount = 0 ثم WordCount = 1 If Separator = "" ثم Separator = "" arr = VBA.Split (Trim (Source)، Separator) xCount = UBound (arr) + 1 If Position <1 ثم wFirst = Application. Max (xCount + Position - WordCount + 1، 0) wLast = xCount + Position Else wFirst = Position - 1 wLast = Application.Min (xCount - 1، Position + WordCount - 2) End If xCount <2 أو Abs (Position) > xCount ثم WMid1 = "" Else WMid1 = arr (wFirst) لـ wCount = wFirst + 1 To wLast WMid1 = WMid1 & Separator & arr (wCount) Next End If WMid1 = Trim (WMid1) End Function
لا توجد تعليقات منشورة هنا حتى الآن
عرض المزيد
اترك تعليقاتك
النشر كضيف
×
قيم المنشور:
0   الشخصيات
المواقع المقترحة

تواصل معنا

حقوق التأليف والنشر © 2009 - شبكة الاتصالات العالمية.extendoffice.com. | كل الحقوق محفوظة. مشغل بواسطة ExtendOffice. | | خريطة الموقع
Microsoft وشعار Office هما علامتان تجاريتان أو علامتان تجاريتان مسجلتان لشركة Microsoft Corporation في الولايات المتحدة و / أو دول أخرى.
محمي بواسطة Sectigo SSL