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

دالة لحساب النسب بناءً على جدول


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

السلام عليكم

جزاك الله كل خير استا بن علية

وعذراً منك ليس المطلوب بهذا الشكل

ما أقصده هو دالة معرفة أو UDF

لاني ساستخدم ها في معادلة بشرط إضافية معقدة نوعا ما

 

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

5 ساعات مضت, محي الدين ابو البشر said:

السلام عليكم

هل من الممكن عمل دالة لاستخلاص النسب لقيم معينة اعتمادا على جدول بالنسب

في المرفق صورة أوضح

دالة نسب.rar

هل ما تريده هو دالة تعطي لك نسبة بناءا علي القيمة التي تدخلها وذلك وفقا لجدول ثابت لهذه النسب

وما ذا تعني بانها ممكن ان تتغير فاذا كان مافهته صحيح فلابد ان يكون جدول ثابت للنسب بحيث كل نسبة لها نطاق من القيم

برجاء توضيح مطلوبك اكثر حتي نتمكن من مساعدتك

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

11 دقائق مضت, حسين العصلوجى said:

هل ما تريده هو دالة تعطي لك نسبة بناءا علي القيمة التي تدخلها وذلك وفقا لجدول ثابت لهذه النسب

وما ذا تعني بانها ممكن ان تتغير فاذا كان مافهته صحيح فلابد ان يكون جدول ثابت للنسب بحيث كل نسبة لها نطاق من القيم

برجاء توضيح مطلوبك اكثر حتي نتمكن من مساعدتك

السلام عليكم

نعم استاذ حسن  دالة تعطي لكنسبة بناءا علي القيمة التي تدخلها وذلك وفقا لجدول ثابت لهذه النسب

المشكل أن المجال من الممكن أن يتغير  مثلا المجال 90000 _ 100000 ممكن يصبح 60000 - 85000

هذا من جهة ومن جهة أخرى ممكن أن تزيد المجالات حتى تصبح النسبة 40% أو 50%

أرجو أن أكون قد وضحت الفكرة وان يكون هناك امكانية لذلك

كنت أفكر بوضع الجدول وجعله ديناميكيا في مصفوفة ضمن الـ UDF المطلوب

شكرا لك على ردك وبارك الله بك وسر خاطرك

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

4 دقائق مضت, محي الدين ابو البشر said:

السلام عليكم

نعم استاذ حسن  دالة تعطي لكنسبة بناءا علي القيمة التي تدخلها وذلك وفقا لجدول ثابت لهذه النسب

المشكل أن المجال من الممكن أن يتغير  مثلا المجال 90000 _ 100000 ممكن يصبح 60000 - 85000

هذا من جهة ومن جهة أخرى ممكن أن تزيد المجالات حتى تصبح النسبة 40% أو 50%

أرجو أن أكون قد وضحت الفكرة وان يكون هناك امكانية لذلك

كنت أفكر بوضع الجدول وجعله ديناميكيا في مصفوفة ضمن الـ UDF المطلوب

شكرا لك على ردك وبارك الله بك وسر خاطرك

اذا :- المطلوب هو عمل دالة تستند في عملها الي جدول نسب تقوم انت بادخاله يدويا وتستطيع تغير نطاق القيم واضافة نطاقات جديده؟

 

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

الان, حسين العصلوجى said:

اذا :- المطلوب هو عمل دالة تستند في عملها الي جدول نسب تقوم انت بادخاله يدويا وتستطيع تغير نطاق القيم واضافة نطاقات جديده؟

 

تماما استاذي العزيز

افترض أن  لجدول موجود في SHEET ما واقوم بادخال القيم او تعديلها

 

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

8 دقائق مضت, محي الدين ابو البشر said:

تماما استاذي العزيز

افترض أن  لجدول موجود في SHEET ما واقوم بادخال القيم او تعديلها

 

اخي الغالي شغلتك بسيطه وما تحتاج داله معرفه ولا اي اكواد

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

 

_Hدالة نسب.rar

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

1 دقيقه مضت, حسين العصلوجى said:

اخي الغالي شغلتك بسيطه وما تحتاج داله معرفه ولا اي اكواد

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

 

_Hدالة نسب.rar

كلامك صحيح استاذ حسين

لكن مشكلتي ان هذه الدالة التي اتمناها سوف استخدمها في معادلة طويلة نوعا ما لاختصار طول المعادلة

بالمناسبة هذا function جربت فيه ما اريد لكن المشكلة أنه يسبب بطء شديد عند تطبيقه (حوالي 500 -600 قيمة)

كنت اتمنى أن اجد ما هو اسرع منه

Function percent(TargetCell As Range) As Double
Application.Volatile
Dim C
Dim n As Double

 n = TargetCell.Value
 
    Select Case n
    
        Case Is > Sheet5.Cells(10, 15).Value: C = Sheet5.Cells(10, 13).Value
        Case Is > Sheet5.Cells(9, 15).Value: C = Sheet5.Cells(9, 13).Value
        Case Is > Sheet5.Cells(8, 15).Value: C = Sheet5.Cells(8, 13).Value
        Case Is > Sheet5.Cells(7, 15).Value: C = Sheet5.Cells(7, 13).Value
        Case Is > Sheet5.Cells(6, 15).Value: C = Sheet5.Cells(6, 13).Value
        Case Is > Sheet5.Cells(5, 15).Value: C = Sheet5.Cells(5, 13).Value
        Case Is > Sheet5.Cells(4, 15).Value: C = Sheet5.Cells(4, 13).Value
        Case Is > Sheet5.Cells(3, 15).Value: C = Sheet5.Cells(3, 13).Value
        Case Is > Sheet5.Cells(2, 15).Value: C = Sheet5.Cells(2, 13).Value
        Case Is > Sheet5.Cells(1, 15).Value: C = Sheet5.Cells(1, 13).Value
        End Select
percent = C
    
End Function

هل يمكن مساعدتي جزاك الله كل خير

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

1 دقيقه مضت, محي الدين ابو البشر said:

ما هكلامك صحيح استاذ حسين

لكن مشكلتي ان هذه الدالة التي اتمناها سوف استخدمها في معادلة طويلة نوعا ما لاختصار طول المعادلة

بالمناسبة هذا function جربت فيه ما اريد لكن المشكلة أنه يسبب بطء شديد عند تطبيقه (حوالي 500 -600 قيمة)

كنت اتمنى أن اجد ما هو اسرع منه


Function percent(TargetCell As Range) As Double
Application.Volatile
Dim C
Dim n As Double

 n = TargetCell.Value
 
    Select Case n
    
        Case Is > Sheet5.Cells(10, 15).Value: C = Sheet5.Cells(10, 13).Value
        Case Is > Sheet5.Cells(9, 15).Value: C = Sheet5.Cells(9, 13).Value
        Case Is > Sheet5.Cells(8, 15).Value: C = Sheet5.Cells(8, 13).Value
        Case Is > Sheet5.Cells(7, 15).Value: C = Sheet5.Cells(7, 13).Value
        Case Is > Sheet5.Cells(6, 15).Value: C = Sheet5.Cells(6, 13).Value
        Case Is > Sheet5.Cells(5, 15).Value: C = Sheet5.Cells(5, 13).Value
        Case Is > Sheet5.Cells(4, 15).Value: C = Sheet5.Cells(4, 13).Value
        Case Is > Sheet5.Cells(3, 15).Value: C = Sheet5.Cells(3, 13).Value
        Case Is > Sheet5.Cells(2, 15).Value: C = Sheet5.Cells(2, 13).Value
        Case Is > Sheet5.Cells(1, 15).Value: C = Sheet5.Cells(1, 13).Value
        End Select
percent = C
    
End Function

هل يمكن مساعدتي جزاك الله كل خير

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

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

الان, حسين العصلوجى said:

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

حسناً

بدل CASE اعتقد لو اسندنا الجدول إلى مصفوفة قد يكون تنفيذها اسرع ام ما هو رايك؟

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

8 دقائق مضت, حسين العصلوجى said:

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

 

اذا برأيك لن يؤدي إلى السرعة في التنفيذ؟

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

المشكلة في طلبك انك لم تستطع ايصال المطلوب بصورة واضحه من الافضل ارفاق ملف بالداتا الكامله والمطلوب الكامل حتي نتمكن من اختيار الحل الانسب والاسرع

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

1 دقيقه مضت, حسين العصلوجى said:

المشكلة في طلبك انك لم تستطع ايصال المطلوب بصورة واضحه من الافضل ارفاق ملف بالداتا الكامله والمطلوب الكامل حتي نتمكن من اختيار الحل الانسب والاسرع

حسنا 

ولكن هل يمكن أن تمهلني إلى الغد لاني بصراحة تعبت وانا على الكمبيوتر من الساعة السابعة صباحا 

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

  • 2 weeks later...
في 3/28/2016 at 18:18, حسين العصلوجى said:

اخي الغالي شغلتك بسيطه وما تحتاج داله معرفه ولا اي اكواد

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

 

_Hدالة نسب.rar

كلامك صحيح استاذ حسين

لكن مشكلتي ان هذه الدالة التي اتمناها سوف استخدمها في معادلة طويلة نوعا ما لاختصار طول المعادلة

بالمناسبة هذا function جربت فيه ما اريد لكن المشكلة أنه يسبب بطء شديد عند تطبيقه (حوالي 500 -600 قيمة)

كنت اتمنى أن اجد ما هو اسرع منه

Function percent(TargetCell As Range) As Double
Application.Volatile
Dim C
Dim n As Double

 n = TargetCell.Value
 
    Select Case n
    
        Case Is > Sheet5.Cells(10, 15).Value: C = Sheet5.Cells(10, 13).Value
        Case Is > Sheet5.Cells(9, 15).Value: C = Sheet5.Cells(9, 13).Value
        Case Is > Sheet5.Cells(8, 15).Value: C = Sheet5.Cells(8, 13).Value
        Case Is > Sheet5.Cells(7, 15).Value: C = Sheet5.Cells(7, 13).Value
        Case Is > Sheet5.Cells(6, 15).Value: C = Sheet5.Cells(6, 13).Value
        Case Is > Sheet5.Cells(5, 15).Value: C = Sheet5.Cells(5, 13).Value
        Case Is > Sheet5.Cells(4, 15).Value: C = Sheet5.Cells(4, 13).Value
        Case Is > Sheet5.Cells(3, 15).Value: C = Sheet5.Cells(3, 13).Value
        Case Is > Sheet5.Cells(2, 15).Value: C = Sheet5.Cells(2, 13).Value
        Case Is > Sheet5.Cells(1, 15).Value: C = Sheet5.Cells(1, 13).Value
        End Select
percent = C
    
End Function

هل يمكن مساعدتي جزاك الله كل خير

 

 

أخي الكريم انا جد آسف على التأخير

كن اكتشفت المشكلة وهي 

Application.Volatile

بالاستغناء عنها اصبح الوضع طبيعي

اسف مرة أخرى واعذرني

بارك الله بك وبجهودك وسر خاطرك وجزاك كل خير

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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

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

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

Important Information