طرق فصل النص والأرقام من خلية واحدة إلى عمودين
إذا كان لديك عمود من السلاسل النصية التي تتكون من نصوص وأرقام ، الآن ، فأنت تريد فصل النص والأرقام من خلية واحدة إلى خليتين مختلفتين في Excel ، يمكنك إنهاء هذه المهمة بعده طرق .
طبعا سابقا شرحت هذه الطريقه عن طريق كود نضيفه في المديول الفيجوال بيسك لكن هناك طرق اخرى لفصل الاسم عن الرقم والعكس في نفس الخليه…
- نفرض لدينا البيانات التاليه في خليه C2
Ahmed ail 4454
Zainab Abbas 677434
Akram Tariq 34466
Fatima Hussain 9665
Karrar Jassim 095454
Hassanein Kamal 4576
Zahraa Hussei12347
Tariq Muhammad 7689
Alia Kazem 43546
Qasim Nasser 56565
ونريد فصل الارقام عن النص او العكس نستخدم الطرق التاليه :
لفصل الاسم عن الرقم نستخدم الصيغه التاليه
=LEFT(C2;MIN(FIND({0;1;2;3;4;5;6;7;8;9};C2&" 0123456789 "))-1)
علما C2 هي الخليه التي تتواجد فيها البيانات انتم فقط غيروا مكان الخليه يعني وين ماتكون بياناتكم غيروها الى الاسم لديكم
لفصل الرقم عن الاسم نستخدم الطريقه التاليه :
=RIGHT(C2;LEN(A1)-MIN(FIND({0;1;2;3;4;5;6;7;8;9};C2&"0123456789"))+1)
ايضا C2 هي خليه التي تتواجد فيها البيانات
طريقه اخرى تحتاج إلى كود نضعه في المديول وذلك نضغط Alt + F11 حتى ينفتح عدنه المطور بعدها نضغط على ادراج مديول ونضع الكود التالي
Public Function SplitText(pWorkRng As Range, pIsNumber As Boolean) As String 'Updateby Extendoffice Dim xLen As Long Dim xStr As String xLen = VBA.Len(pWorkRng.Value) For i = 1 To xLen xStr = VBA.Mid(pWorkRng.Value, i, 1) If ((VBA.IsNumeric(xStr) And pIsNumber) Or (Not (VBA.IsNumeric(xStr)) And Not (pIsNumber))) Then SplitText = SplitText + xStr End If Next End Function
الان نكدر نستخدم SplitText لفصل الاسم عن الرقم بعد اضافه الكود اعلاه وبالتالي نستخدم الصيغه التاليه :
=SplitText(C2;FALSE)
علما C2 مكان تواجد البيانات
لفصل الرقم عن الاسم نستخدم الصيغه التاليه لنفس الكود اعلاه
=SplitText(C2,TRUE)
علما C2 مكان تواجد البيانات
شاهدوا الفيديوهات ادناه للتوضيح اكثر
فيديو يوضح فصل الارقام عن النصوص والعكس باستخدام الصيغ في الاكسل
فيديو يوضح فصل الارقام عن النصوص والعكس باستخدام الكود في الفيجوال المتواجد في الاكسل
المعادلات المستخدمة
=LEFT(C2;MIN(FIND({0;1;2;3;4;5;6;7;8;9};C2&" 0123456789 "))-1) دالة فصل الاسم عن الرقم =RIGHT(C2;LEN(C2)-MIN(FIND({0;1;2;3;4;5;6;7;8;9};C2&"0123456789"))+1) دالة فصل الرقم عن الاسم =========================================== Public Function SplitText(pWorkRng As Range, pIsNumber As Boolean) As String 'Updateby Extendoffice Dim xLen As Long Dim xStr As String xLen = VBA.Len(pWorkRng.Value) For i = 1 To xLen xStr = VBA.Mid(pWorkRng.Value, i, 1) If ((VBA.IsNumeric(xStr) And pIsNumber) Or (Not (VBA.IsNumeric(xStr)) And Not (pIsNumber))) Then SplitText = SplitText + xStr End If Next End Function =SplitText(C2;FALSE) دالة فصل الاسم عن الرقم =SplitText(C2;TRUE) دالة فصل الرقم عن الاسم كود فصل الرقم عن الاسم والعكس
صوره توضح المثال
المعادلات ايضا تستخدم اذا كان عدكم نصوص عربيه بدل الإنكليزية بدون اي اخطاء