اذهب الي المحتوي
أوفيسنا

لدي عمود اريد ان افصل مافيه لتحويله الى مبالغ


الردود الموصى بها

بارك الله فيك اخي الغالي

الدالة من شكلها طويل وصعب

وفيها اخطاء راجع المبالغ ستجد ان بعض المبالغ تحولت من 141.00 مثلا الى 41.00 فقط الصف رقم 50

انا اريد تطبيق على اي عمود يظهر لي وليس هذا فقط لأنه مثال لا اكثر

انا اجرب النص الى اعمدة

ياريت لو فيه شرح مبسط او لو طرق اخرى

تم تعديل بواسطه عبد الله السعيد
رابط هذا التعليق
شارك

السلام عليكم

أخي الكريم معادلة الأستاذ ياسر عدلت عليها رقمين فقط بعد إذنه..

=VALUE(RIGHT(TRIM(SUBSTITUTE(A145;"المبلغ النهائي";""));3)&"."&LEFT(TRIM(SUBSTITUTE(A145;"المبلغ النهائي";""));3))

 

يرجى أن تكون مناسبة

  • Like 2
رابط هذا التعليق
شارك

أخي الحبيب عمرو

مشكور على مرورك العطر وكلماتك الطيبة

 

أخي الحبيب أبو يوسف

ماذا لو زادت الأرقام عن ثلاثة أرقام ؟ ..

أمر آخر لما الضغط على Ctrl +Shift + Enter (هذه ليست معادلة صفيف)

أرجو أن تتقبل النقد بصدر رحب .. وكلنا نتعلم من بعضنا البعض أبي الغالي

 

عموماً هذه دالة معرفة بسيطة تؤدي الغرض إن شاء الله

Function GetNumber(myStr As String)
    myStr = Replace(myStr, "المبلغ النهائي", "")
    GetNumber = Val(Split(Application.Trim(myStr))(1) & "." & Split(Application.Trim(myStr))(0))
End Function

 

Tee V2.rar

  • Like 2
رابط هذا التعليق
شارك

السلام عليكم شكراً على معلوماتكم القيمة 

وأنا أقبل النقد الذي أتعلم منه ...فكل ابن آدم خطاء...وأنا منهم ...

جزاكم الله خيراُ ...شكراً على التوضيح..

أحببت أن أساعد ..اعط الخباز خبزه لو أكل نصفه..

  • Like 2
رابط هذا التعليق
شارك

استاذي ابو يوسف 

هنا مفيش ادي العيش لخبازه  احنا هنا عشان  نعجن الدنيا ونخبز احنا 

ويطلع اخواتنا الخبراء يخبزو قدامنا  واحنا نعك 

لحد ما نعرف 

انا عن نفسي اكتر عكاك

وبحب اعك

معلش يابو براء اخبز يامعلم ووريني  عشان انا مبديش عيش لحد

ياسر العربي الفرنةاللي علي الناصية 

  • Like 1
رابط هذا التعليق
شارك

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

والسلام عليكم

  • Like 2
رابط هذا التعليق
شارك

اثراء للموضوع جرب هذا الكود

Sub extract_number()

    Dim mytext As String
    Dim lr, x As Integer
    Dim y As String
    
Application.ScreenUpdating = False

lr = Cells(Rows.Count, 1).End(3).Row

For i = 1 To lr
        x = Len(Range("a" & i))
         For t = 1 To x
            y = Mid(Range("a" & i), t, 1)
             Select Case y
             Case 0 To 9
             mytext = mytext & y
          End Select
         Next
        Cells(i, 3) = mytext
    mytext = ""
 Next
Application.ScreenUpdating = True
End Sub

تستطيع ايضاً استعما هذه المعادلة

=RIGHT(TRIM(A1),FIND(CHAR(237),SUBSTITUTE(SUBSTITUTE(TRIM(A1)," ",""),"0","")))

 

تم تعديل بواسطه سليم حاصبيا
رابط هذا التعليق
شارك

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

والسلام عليكم

استاذي الغالي  ابو يوسف

ارجو الا تحرمنا من كلماتك وردودك العطرة ومرورك الكريم

لا تقل ليتني

كلنا  نشارك ونصيب ونخطئ

واتمنى ان تشارك في كل موضوع

ارجوا عدم اخذ الامور بيننا علي محمل  غير المفترض بيننا

الا وهو انت ابانا واخونا الاكبر انت مثال يحتذى به انت فخر لهذا المنتدى انت استاذ تربية وتعليم

وكلنا هنا نتمنى لك كل الخير من اعماق قلوبنا

ارجو ان تتحدث هنا بروح الامل والفرح والمحبة

لانك طبعا تعرف جزاء ادخال السرور علي قلب اخوك المسلم

انا معرفوش

اتمنى من الله ان تكون في اتم الصحة والسعادة  وان كنت بخبط في الكلام فدا خطأ لجهلي في التعامل مع الناس

ارجو تقبل اعتذاري ان كان كلامى هو ما اثارك

اصل انا مدب ورخم  وبخبط كتيرر وربنا يسترها علينا :wallbash:

 

  • Like 1
رابط هذا التعليق
شارك

أخي الحبيب سليم

بارك الله فيك على إثراء الموضوع ، ولكن الكود لا يعطي نتائج صحيحة يرجى مراجعة الكود

 

أخي الحبيب أبو يوسف

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

بالعكس أنا مبسوط جداً بمشاركتك ..لازم عشان تتعلم لازم تشارك وتغلط وتحاول وتفشل وتمشي وتقع وتقوم تقف تاني (هكذا يكون التعلم) ... لا أن نركن في جنب ونستنى دايماً المعلومة الجاهزة .. وبالمشاركات الكل بيتطور وبيتقدم ويتعلم وأنا أولكم والله .. أنا أبحث عن أكثر من حل حتى لو كان لدي حل .. فالبحث يزيد المعرفة ويوثق عملية التعلم

 

إليكم هذا الكود أيضاً ليؤدي الغرض وهو أسرع بكثير (جرب اأن تضع الآف البيانات في العمود الاول ونفذ الكود وستجد الفرق)

Sub ExtractNumber()
    Dim X, SP, I As Long
    With Range("A1", Cells(Rows.Count, 1).End(xlUp))
        X = Application.Trim(.Value)
        For I = 1 To UBound(X)
            SP = Split(X(I, 1))
            X(I, 1) = Val(Val(SP(3)) & "." & SP(2))
        Next I
        .Offset(0, 1).Value = X
    End With
End Sub

تقبلوا تحياتي

  • Like 2
رابط هذا التعليق
شارك

 اخي ياسر 

اظن ان الخطأ هو في طريقة تعامل الاكسل مع اللغات (العربية الاجنبية)

لكن وجدت لك معادلة تفي بالغرض و تعطينا نتائج رقمية

=TEXT(RIGHT(SUBSTITUTE(A1,"المبلغ النهائي",""),9)&"."&TRIM(LEFT(SUBSTITUTE(A1,"المبلغ النهائي",""),6))*1,"#.#0")*1

 

تم تعديل بواسطه سليم حاصبيا
  • Like 1
رابط هذا التعليق
شارك

جميلة المعادلة أخي الغالي سليم

اضبط الكود بالمرة عشان يكون الموضوع متكامل بإذن الله

يبقا فيه معادلة ودالة معرفة وكودين ..

صاحب الموضوع شكله نام بدري النهاردة .. :rol:

  • Like 1
رابط هذا التعليق
شارك

دالة معرفة اخرى 

(يمكن استعمالها كود ( مع بعض التعديلات

Function Ext_Num(myval As Range)

    t = Application.Trim(myval)
    x = Split(t, " ")
    Mytext = ""

For i = 0 To UBound(x)
     If IsNumeric(x(i)) Then
        Mytext = x(i) & Mytext
     End If
Next
    If Mytext = "" Then
       Ext_Num = "No Numbers"
     Else
         Ext_Num = Mytext / 100
     End If
End Function

 

رابط هذا التعليق
شارك

بارك الله فيكم على شروحاتكم الأكثر من رائعة

ماكنت اتوقع ان الموضوع يكون كبير لهذه الدرجة

كالعادة متميز ومتألق اخي الحبيب ياسر

اخي سؤال فقط واعتذر هل هذا الكود

Function GetNumber(myStr As String)
    myStr = Replace(myStr, "المبلغ النهائي", "")
    GetNumber = Val(Split(Application.Trim(myStr))(1) & "." & Split(Application.Trim(myStr))(0))
End Function

ممكن ان اطبقه في اي عمود

 

بمعنى فرضاً لدي هذا العمود في عمود اخر بخلاف هذا واريد استخلاص النتائج ايضاً في عمود اخر كيف لي ان اطبق هذا الحل 

رابط هذا التعليق
شارك

نعم أخي الكريم عبد الله يمكنك أن تطبقه على أي عمود ...

الدالة المعرفة في تطبيقها كدوال الإكسيل

فمثلا لو كان البيان في الخلية K1 وتريد أن تظهر النتيجة في أي خلية أخرى في ورقة العمل

كل ما عليك إلا أن تكتب علامة يساوي يليها اسم الدالة ..هنا اسمها GetNumber كما أسميناها مع العلم أنه يمكنك التعديل لأي اسم تريده (بس لازم تعدل الدالة المعرفة أيضاً) ..

المهم بعد علامة يساوي واسم الدالة بتفتح قوس وتكتب الخلية المراد استخراج الرقم منها

=GetNumber(K1)

 

رابط هذا التعليق
شارك

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information