البطل السيناوي
15-01-2014, 08:08 PM
استخدمت دالة right و len في الحصول علي اسم الاب من خلية بها اسم الطالب
=RIGHT(B2;LEN(B2)-FIND(" ";B2;1))
=RIGHT(B2;LEN(B2)-FIND(" ";B2;1))
مشاهدة النسخة كاملة : دوال اكسيل استخراج اسم الأب من اسم الطالب البطل السيناوي 15-01-2014, 08:08 PM استخدمت دالة right و len في الحصول علي اسم الاب من خلية بها اسم الطالب =RIGHT(B2;LEN(B2)-FIND(" ";B2;1)) alfa 15-01-2014, 09:41 PM أحسنت أستاذى جرب هذه أيضا =mid(b2;find(" ";b2);len(b2)) لكن أود تنبيه حضرتك أن هذا لا يعمل على الوجه الأكمل مع أسماء الذكور المركبة مثل عبد الله عبد الرحمن سيف الإسلام..... إلا إذا كتبت متصلة msh835 15-01-2014, 10:31 PM مشكووووووووووور أحمد هاشم الزيدي 17-01-2014, 12:07 AM بارك الله في حضرتك استاذي العزيز مجاهد علي هذا الجهد جعله الله في ميزان حسانتك يوم القيامة باذن الله تعالي البطل السيناوي 21-01-2014, 01:23 AM العفو أ/ أحمد اتمني لك دوام التوفيق كلماتك الرقيقة تبعث فينا السعادة و الدافع من أجل المزيد فشكرا جزيلا لك و الشكر موصول ل أ/ alfa (http://thanwya.com/vb/member.php?u=155314) علي الاضافة البطل السيناوي 21-01-2014, 02:03 AM مستر Alfa تحياتي لك لكى نتفادى مشكلة الاسماء المركبة ( عبد الرحمن) نستخدم هذه المعادلة =MID(A3;FIND(" ";A3;5)+1;LEN(A3)) والتعديل عليها فى دالة find حيث كنا نهمل رقم الحرف الذى نبدأ البحث بعده عن المسافة فاذا قلنا له ان يبدأ البحث عن المسافة بعد الخرف الخامس ( لان عبد + مسافه = 4 ) بذلك نجبره بالبحث بعد المسافة الاول فى اسم الطالب ( عبد الحميد على ) والتعديل عليها فى دالة find حيث كنا نهمل رقم الحرف الذى نبدأ البحث بعده عن المسافة فاذا قلنا له ان يبدأ البحث عن المسافة بعد الخرف الخامس ( لان عبد + مسافه = 4 ) بذلك نجبره بالبحث بعد المسافة الاول فى اسم الطالب ( عبد الرحمن على ) alfa 21-01-2014, 08:27 PM كلامك مضبوط إذا بدأنا البحث بعد الخامس حصلنا بالطبع على الاسم المركب لكن لا نحصل على الاسم المنفرد مثل حسن على رضا المقصد ليس هناك معادلة تجمع النتيجتين أليس هذا صحيحا؟ البطل السيناوي 22-01-2014, 11:03 PM نعم مستر الفا البطل السيناوي 25-01-2014, 11:51 PM تم تعديل الكود للتعامل مع الأسماء المركبة و المسافات محمد صالح العشيري 26-01-2014, 04:34 PM الدالة على تعمل مع الأسماء المركبة alfa 26-01-2014, 05:09 PM الأستاذ البطل السيناوى عندما كتبت اسم نور الدين يحيى جاءت النتيجة الدين يحيى و هذا طبعا خطأ الحاصل أن مثل هذا الهدف لايمكن الحصول عليه بمعادلة لكن هناك دالة مخصصة من ابتكار أخى و معلمى الأستاذ خبور تكفلت ب 99 فى المئة من النتائج الصحيحة و هذا هو الكود العبقرى الخاص بها Option Explicit ' بسم الله الرحمن الرحيم " ' ******************** " ' دالة استخراج اسم ولي الأمر " '========================================" ' True = kh_First اذا كان " ' او اي رقم غير الصفر " ' تقوم باستخراج الاسم الاول " '========================================" ' يامكانية معالجة الاسم المركب الاول " ' تلقائياً حسب معايير معرفة لديها " ' Kh_Father_Replace في الدالة " ' ويمكنك اضافة اي معيار آخر " ' بجانب المعايير الموجودة " ' MyArray في المتغير " ' مع مراعاة وجود فراغ بداية ' او نهاية المعيار '========================================" '----------------------------------------------------------------- Function Kh_Father_Name(ByVal Name As String, Optional kh_First As Boolean) As String Dim KhString As String, Kh_Mid As String, Kh_Rep As String Dim KhMyNo As Integer On Error GoTo Err_Kh_Father_Name If IsEmpty(Name) Then GoTo Err_Kh_Father_Name KhString = Kh_Father_Replace(Trim(Name)) & " " KhMyNo = InStr(1, KhString, " ", 1) If kh_First Then Kh_Mid = Trim(Mid(KhString, 1, KhMyNo)) Else _ Kh_Mid = Trim(Mid(KhString, KhMyNo, Len(KhString))) Kh_Rep = Replace(Kh_Mid, "^", " ") Kh_Father_Name = Kh_Rep Exit Function Err_Kh_Father_Name: Kh_Father_Name = "" End Function Private Function Kh_Father_Replace(ByVal Kh_Sub As String) As String Dim MyArray, Ar Dim Sn As String, Re As String '================================================= === ' يمكنك اضافة اي معيار آخر هنا بجانب المعايير الموجودة MyArray = Array("عبد ", "أبو ", "ابو ", "آل ", " الله" _ , " الدين", " الإسلام", " الاسلام", " الحق") '================================================= === Sn = Kh_Sub For Each Ar In MyArray Re = Replace(Ar, " ", "^") Sn = Replace(Sn, Ar, Re) Next Kh_Father_Replace = Sn End Function الملف بالمرفقات البطل السيناوي 26-01-2014, 10:28 PM شكرا لك مستر الفا وطبعا للاستاذ خبور الكود شغال vba بس كان نفسي تستخدم كود من صنع ايدك انت ممكن تطور فيه باستخدام الدوال و يمكن لو حضرتك بصيت علي الاسماء الموجوده بالكود AND(MID(TRIM(B2);1;3)="عبد";MID(TRIM(B2);4;1)=" ") استبدل استخدم الكود بعد استبدال كلمة "عبد" بكلمة "نور" ستحصل علي ما تريد marwasamy 01-02-2014, 06:46 PM شكرا على هذا الجهد المبذول البطل السيناوي 03-02-2014, 11:53 PM شكرا لوجودك المميز أ/مروة أ.حسين احمد 05-02-2014, 01:31 AM جزاك الله خير mido_tota 05-02-2014, 10:06 PM جامدة جدا .............. جزاك الله خيرا ismibra 10-02-2014, 08:00 PM لكم جزيل الشكر والعرفان اخوانى الشهيد الحاج 18-06-2014, 08:15 PM شكرًا علي مجهودك . amr_asdoo 07-07-2014, 01:02 PM كل عام وأعضاء المنتدى والمصريين والمسلمين كلهم بخير بمناسبة شهر رمضان الكريم البطل السيناوي 07-07-2014, 10:50 PM وكل عام و انت بخير logy2006 14-07-2014, 10:27 PM جزاكم الله خير الجزاء كنت بدور عليها hany alsaed214 14-08-2014, 11:38 AM very good..... عبدالناصر2005 04-01-2015, 08:22 PM https://www.facebook.com/AndalusFCT?ref=bookmarks |