انتقل إلى المحتوى الرئيسي

كيفية استخراج الحرف الأول من كل كلمة من الخلية؟

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


استخراج الحرف الأول من كل كلمة من الخلية مع الصيغة

للحصول على الحرف الأول من كل كلمة داخل الخلية، يمكن أن تساعدك صيغة الصفيف التالية.

1. يرجى نسخ الصيغة التالية في خلية فارغة حيث تريد الحصول على النتيجة، ثم اضغط كترل + شيفت + إنتر مفاتيح معًا للحصول على النتيجة الأولى.

=CONCAT(LEFT(FILTERXML("<a><b>"&SUBSTITUTE(A2," ","</b><b>")&"</b></a>","//b"),1))

2. بعد ذلك، اسحب الصيغة لأسفل لملء الخلايا الأخرى. سيؤدي هذا الإجراء تلقائيًا إلى استخراج الحرف الأول من كل كلمة في كل خلية مرة واحدة. انظر لقطة الشاشة:

شرح هذه الصيغة:
  • البديل(A2،" ""، " "):تستبدل هذه الوظيفة كل مسافة في النص الموجود في الخلية A2 بـ . يؤدي هذا إلى فصل كل كلمة في النص بشكل فعال باستخدام علامات XML هذه. على سبيل المثال، إذا كان A2 يحتوي على "Hello World"، فإن هذا الجزء من الصيغة يحوله إلى "Hello World".
  • " "&...&" ": يغلف هذا الجزء نتيجة الدالة SUBSTITUTE في البداية والنهاية. بالاستمرار في المثال، تصبح السلسلة الآن Hello World ، لتشكل بنية XML صالحة حيث يتم وضع كل كلمة ضمن علامات.
  • مرشحXML(..."،//ب"): يتم استخدام FILTERXML لتحليل سلسلة XML التي تم إنشاؤها في الخطوات السابقة. يقوم استعلام XPath //b بتحديد كافة العناصر الموجودة داخل العلامات، أي كل كلمة في السلسلة الأصلية. باستخدام مثالنا، سيُرجع FILTERXML مصفوفة تحتوي على عنصرين: "Hello" و"World".
  • اليسار(...,1): يتم بعد ذلك تطبيق الدالة LEFT على كل عنصر من عناصر المصفوفة التي يتم إرجاعها بواسطة FILTERXML، مع استخراج الحرف الأول من كل كلمة. في المثال، قد يؤدي ذلك إلى "H" و"W".
  • كونكات (...): أخيرًا، تقوم الدالة CONCAT بجمع كافة عناصر المصفوفة في سلسلة واحدة. بالنسبة لمثالنا "Hello World"، فإنه سيتم ربط "H" و"W" لإنتاج "HW".

استخرج الحرف الأول من كل كلمة من الخلية باستخدام Kutools AI Aide

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

ملاحظات: لاستخدام هذا مساعد Kutools AI of كوتولس ل إكسيلالرجاء قم بتنزيل وتثبيت Kutools لبرنامج Excel لأول مرة.

بعد تثبيت كوتولس ل إكسيل ، الرجاء الضغط كوتولس منظمة العفو الدولية > مساعد الذكاء الاصطناعي لفتح مساعد Kutools AI جزء:

  1. حدد قائمة البيانات، ثم اكتب متطلباتك في مربع الدردشة، وانقر فوق أرسل زر أو اضغط أدخل مفتاح لإرسال السؤال؛
  2. بعد التحليل اضغط تنفيذ زر للتشغيل. سيقوم Kutools AI Aide بمعالجة طلبك باستخدام AI وإرجاع النتائج مباشرة في Excel.


استخراج الحرف الأول من كل كلمة من الخلية بوظيفة محددة بواسطة المستخدم

يعد استخراج الحرف الأول من كل كلمة من خلية مهمة يمكن تحسينها بشكل كبير باستخدام وظيفة محددة من قبل المستخدم (UDF) في Excel. يستكشف هذا القسم كيفية إنشاء UDF واستخدامه لتنفيذ هذه المهمة بكفاءة.

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

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

Function GetFirstLetters(rng As Range) As String
'Updateby Extendoffice
    Dim arr
    Dim I As Long
    arr = VBA.Split(rng, " ")
    If IsArray(arr) Then
        For I = LBound(arr) To UBound(arr)
            GetFirstLetters = GetFirstLetters & Left(arr(I), 1)
        Next I
    Else
        GetFirstLetters = Left(arr, 1)
    End If
End Function

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


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

  • قم باستخراج أول أو آخر كلمتين أو كلمة n من السلسلة النصية
  • إذا كانت لديك قائمة بالسلاسل النصية مفصولة بمسافة ، والآن ، فأنت تريد استخراج الكلمات الأولى أو الأخيرة أو الكلمات الثلاث أو n من قيمة الخلية للحصول على نتيجة لقطة الشاشة التالية. في هذه المقالة ، سأقدم بعض الصيغ لاستخراج أول أو آخر كلمتين أو n من سلسلة نصية في Excel.
  • استخراج النص قبل/بعد المسافة أو الفاصلة فقط
  • عندما تريد استخراج النص قبل أو بعد المسافة من القائمة كما هو موضح أدناه ، هل لديك طريقة جيدة لإنجازه؟ دعني أخبرك ببعض الطرق الحيلة لاستخراج النص قبل أو بعد الفراغ فقط في Excel.
  • استخراج عنوان البريد الإلكتروني من سلسلة نصية
  • عند استيراد بعض عناوين البريد الإلكتروني من موقع الويب إلى ورقة عمل Excel ، هناك دائمًا نص غير ذي صلة ، لكنك الآن تريد فقط استخراج عناوين البريد الإلكتروني الخالصة من السلسلة النصية (انظر لقطات الشاشة التالية). كيف يمكنك الحصول بسرعة على عناوين البريد الإلكتروني فقط من نص الخلية؟
  • استخراج السلسلة بين حرفين مختلفين
  • إذا كانت لديك قائمة سلسلة في Excel والتي تحتاج إلى استخراج جزء من سلسلة بين حرفين من لقطة الشاشة الموضحة أدناه ، فكيف يتم التعامل معها في أسرع وقت ممكن؟ هنا ، أقدم بعض الأساليب لحل هذه الوظيفة.

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

🤖 مساعد Kutools AI: إحداث ثورة في تحليل البيانات على أساس: التنفيذ الذكي   |  إنشاء التعليمات البرمجية  |  إنشاء صيغ مخصصة  |  تحليل البيانات وإنشاء الرسوم البيانية  |  استدعاء وظائف Kutools...
الميزات الشعبية: البحث عن التكرارات أو تمييزها أو تحديدها   |  حذف الصفوف الفارغة   |  دمج الأعمدة أو الخلايا دون فقدان البيانات   |   جولة بدون صيغة 
سوبر بحث: معايير متعددة VLookup    VLookup ذات القيمة المتعددة  |   VLookup عبر أوراق متعددة   |   بحث غامض ....
قائمة منسدلة متقدمة: إنشاء القائمة المنسدلة بسرعة   |  القائمة المنسدلة التابعة   |  قائمة منسدلة متعددة التحديد ....
مدير العمود: إضافة عدد محدد من الأعمدة  |  نقل الأعمدة  |  تبديل حالة رؤية الأعمدة المخفية  |  مقارنة النطاقات والأعمدة 
الميزات المميزة: التركيز على الشبكة   |  عرض تصميم   |   شريط الفورمولا الكبير    مدير المصنفات والأوراق   |  مكتبة الموارد (النص السيارات)   |  منتقي التاريخ   |  اجمع أوراق العمل   |  تشفير/فك تشفير الخلايا    إرسال رسائل البريد الإلكتروني عن طريق القائمة   |  سوبر تصفية   |   مرشح خاص (تصفية غامق / مائل / يتوسطه خط ...) ...
أفضل 15 مجموعة أدوات12 نص الأدوات (إضافة نص, إزالة الأحرف، ...)   |   +50 رسم الأنواع (مخطط جانت، ...)   |   40+ عملي الصيغ (احسب العمر على أساس تاريخ الميلاد، ...)   |   19 إدخال الأدوات (أدخل رمز الاستجابة السريعة, إدراج صورة من المسار، ...)   |   12 تحويل الأدوات (أرقام إلى كلمات, نتيجة تحويل عملة، ...)   |   7 دمج وتقسيم الأدوات (الجمع بين الصفوف المتقدمة, تقسيم الخلايا، ...)   |   ... و اكثر

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

الوصف


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

  • تمكين التحرير والقراءة المبوبة في Word و Excel و PowerPointوالناشر والوصول و Visio والمشروع.
  • فتح وإنشاء مستندات متعددة في علامات تبويب جديدة من نفس النافذة ، بدلاً من النوافذ الجديدة.
  • يزيد من إنتاجيتك بنسبة 50٪ ، ويقلل مئات النقرات بالماوس كل يوم!
Comments (18)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Hello, If the the nth Word is enclosed in a (), it is returning the ( since it comes before the First Letter.

Example:
Word Word (Word)

How to return WWW instead of WW( ?
This comment was minimized by the moderator on the site
Hello, Sharmane
Maybe the following code can help you:
Function GetFirstLetters(rng As Range) As String
    Dim arr() As String
    Dim i As Long
    
    arr = VBA.Split(rng.Value, " ")
    
    For i = LBound(arr) To UBound(arr)
        If Left(arr(i), 1) <> "(" And Right(arr(i), 1) <> ")" Then
            GetFirstLetters = GetFirstLetters & Left(arr(i), 1)
        ElseIf Left(arr(i), 1) = "(" And Right(arr(i), 1) = ")" Then
            GetFirstLetters = GetFirstLetters & Mid(arr(i), 2, 1)
        End If
    Next i
End Function


Please have a try, thank you!
This comment was minimized by the moderator on the site
Another suggestion if using Microsoft 365: =TEXTJOIN("",,LEFT(TEXTSPLIT(D9," "),1)) where the source string is in B9.
Wrap in UPPER function to enforce uppercase: =UPPER(TEXTJOIN("",,LEFT(TEXTSPLIT(D9," "),1)))
@Pradeep Gyawali -> add space: =UPPER(TEXTJOIN(" ",,LEFT(TEXTSPLIT(D9," "),1)))
This comment was minimized by the moderator on the site
Wondering how to add this into the existing formula I have that works to bring the value over from a cell in another sheet? I only want to bring over the first character in each cell. Here's the formula

=IF(LOOKUP(2,1/(OriginalSubmission!D:D<>""),ROW(OriginalSubmission!D:D))=ROW(OriginalSubmission!D4),"",INDIRECT("OriginalSubmission!D5:"&"D"&(LOOKUP(2,1/(OriginalSubmission!D:D<>""),ROW(OriginalSubmission!D:D)))))
This comment was minimized by the moderator on the site
Hello, SARAH
Do you mean extracting each first character in cells from another worksheet? If so, you just need to copy and paste the code in this article, and then apply this formula into another sheet.
=GetFirstLetters(OriginalSubmission!D4)


Note: OriginalSubmission is the sheet name that you want to extract charatcers from.
Please try, hope it can help you!
This comment was minimized by the moderator on the site
How to create space between the letters?

South Korea= S K
This comment was minimized by the moderator on the site
Hi, Gyawali
If you want to add space for each character, please apply the following VBA code:
Function GetFirstLetters(Rng As Range) As String
'Updateby Extendoffice
    Dim xStr
    Dim arr
    Dim I As Long
    xStr = " "
    arr = VBA.Split(Rng, " ")
    If IsArray(arr) Then
        For I = LBound(arr) To UBound(arr)
            GetFirstLetters = GetFirstLetters & Left(arr(I), 1) & xStr
        Next I
    Else
        GetFirstLetters = Left(arr, 1) & xStr
    End If
End Function


After insert the code, and then apply this formula: =GetFirstLetters(A2) to get the result you need.
Please try, hope it can help you!
This comment was minimized by the moderator on the site
Why is this giving me the first 2 letters in each word?
This comment was minimized by the moderator on the site
This is awesome. Such a time saver
This comment was minimized by the moderator on the site
This code is good for upto five words, where D20 is the cell with data.



=IF(ISERR(LEFT($D$20,1)&MID($D$20,SEARCH(" ",$D$20)+1,1)
&MID($D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20)+1)+1,1)
&MID($D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20)+1)+1)+1,1)
&MID($D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20,SEARCH(" ",
$D$20)+1)+1)+1)+1,1)),IF(ISERR(LEFT($D$20,1)&MID($D$20,SEARCH(" ",$D$20)+1,1)
&MID($D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20)+1)+1,1)
&MID($D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20)+1)+1)+1,1)),
IF(ISERR(LEFT($D$20,1)&MID($D$20,SEARCH(" ",$D$20)+1,1)
&MID($D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20)+1)+1,1)),
IF(ISERR(LEFT($D$20,1)&MID($D$20,SEARCH(" ",$D$20)+1,1)),
IF(ISERR(LEFT($D$20,1)),"",LEFT($D$20,1)),LEFT($D$20,1)
&MID($D$20,SEARCH(" ",$D$20)+1,1)),LEFT($D$20,1)&MID($D$20,SEARCH(" ",$D$20)+1,1)
&MID($D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20)+1)+1,1)),
LEFT($D$20,1)&MID($D$20,SEARCH(" ",$D$20)+1,1)
&MID($D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20)+1)+1,1)
&MID($D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20)+1)+1)+1,1)),LEFT($D$20,1)
&MID($D$20,SEARCH(" ",$D$20)+1,1)&MID($D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20)+1)+1,1)
&MID($D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20)+1)+1)+1,1)
&MID($D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20)+1)
+1)+1)+1,1))
This comment was minimized by the moderator on the site
Подскажите пожалуйста, можно ли модифицировать код чтобы забиралась не первые а Заглавные буквы?
This comment was minimized by the moderator on the site
i think it has one bug, it's automatically removed from module when sheet is closed, need to again every time when open sheet same process to be required, please advice how to save this formula in excel permanently.
This comment was minimized by the moderator on the site
Pls save excel as Excel Macro-Enablel work book.
This comment was minimized by the moderator on the site
Please include this part: If you create a function called DISCOUNT in a workbook called Personal.xlsb and you call that function from another workbook, you must type =personal.xlsb!discount(), not simply =discount(). https://support.office.com/en-us/article/Create-Custom-Functions-in-Excel-2007-2f06c10b-3622-40d6-a1b2-b6748ae8231f
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations