اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

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

قام بنشر

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

شكرا جزيلا لك

 

 

الفكره انه الملف بيتكلم عن توريد وصيانه مشاريع حلو

العمود A هوحالة المشروع  في الوضع القديم 

وبعد كدا عمود B نسبة إنجازة  و C المدة المنقضية من المشروع

العمود D دا الداله اللى عاملين لها الكود اللى المفروض انها هتاخد الحالة القديمة والنسبتين ولو الحالة منتظمة أو متعثرة أو متأخرة هيبدأا الكود يتعامل على النسب ويشوف الفروق كما موضحة بالملف

غير ال 3 حالات دول يسيب الحاله كما هي

أرجو انى اكون قدرت أوضح

قام بنشر

حلو

اللعب على ال 3  حالات منتظم متاخر متعثر فقط

لو انجز من 90% الى 100% يتم التحويل الى جاري الانتهاء منه حتى لو وصل ل 100% يعتبر جاري الانتهاء منه دون النظر الى المدة المنقضية 

تمام

 

لو بقى الفرق بين المدة المنقضية والمنجز اقل من او يساوي 20 % او المنجز يتخطي المدة المنقضية اذا  يتم التحويل الى منتظمه

 

تمام

ولو الفرق اكثر من 20% والمنقضية لا تتخطي ال 100% وطبعا ميكنش وصل ل 90% لانه هيكون بقي في حالة جاري الانتهاء منه ,,, دا بقي متأخر

 

تمام

ولو تخطت المدة المنقضية ال 100% وطبعا ميكنش الانجاز وصل ل 90%  ,,,, ودا متعثر

 

 

 

تمام

غير كدا بقي لو الحالة مكتوب فيها اى حاجة غير ال 3 دول تفضل كما هي

 

 

 

واتمنى اكون وضحت

وشكرا لك

قام بنشر

انا قاعد اجرب  بس مظبطتش بما انى جديد على موضوع الاكواد

Function CHANGE_STATUS(status As String, ENGAZ As Double, MONQDIA As Double) As String

Dim FARK As Double

FARK = MONQDIA - ENGAZ

Select Case status

Case "منتظمة"

If ENGAZ >= 0.895 Then

CHANGE_STATUS = "جاري الانتهاء منها"

ElseIf (FARK <= 0.2049) And (monqadia < 1) Then

CHANGE_STATUS = "منتظمة"

ElseIf (FARK > 0.2049) And (monqadia < 1) Then

CHANGE_STATUS = "متأخرة"

ElseIf (ENGAZ < 0.895) And (monqadia > 1) Then

CHANGE_STATUS = "متعثرة"

End If

Case "متأخرة"

If ENGAZ >= 0.895 Then

CHANGE_STATUS = "جاري الانتهاء منها"

ElseIf (FARK <= 0.2049) And (monqadia < 1) Then

CHANGE_STATUS = "منتظمة"

ElseIf (FARK > 0.2049) And (monqadia < 1) Then

CHANGE_STATUS = "متأخرة"

ElseIf (ENGAZ < 0.895) And (monqadia > 1) Then

CHANGE_STATUS = "متعثرة"

End If

Case "متعثرة"

If ENGAZ >= 0.895 Then

CHANGE_STATUS = "جاري الانتهاء منها"

ElseIf (FARK <= 0.2049) And (monqadia < 1) Then

CHANGE_STATUS = "منتظمة"

ElseIf (FARK > 0.2049) And (monqadia < 1) Then

CHANGE_STATUS = "متأخرة"

ElseIf (ENGAZ < 0.895) And (monqadia > 1) Then

CHANGE_STATUS = "متعثرة"

End If

Case Else

CHANGE_STATUS = status

End Select

End Function

قام بنشر

جرب الدالة بهذا الشكل

Function CHANGE_STATUS(status As String, ENGAZ As Double, MONQDIA As Double) As String
    Fark = MONQDIA - ENGAZ
    
    If Fark <= 0.2 Or ENGAZ > MONQDIA Then
        CHANGE_STATUS = "منتظمة"
    ElseIf Fark > 0.2 And Not MONQDIA > 1 And Not ENGAZ >= 0.9 Then
        CHANGE_STATUS = "متأخرة"
    ElseIf ENGAZ < 0.9 And MONQDIA >= 1 Then
        CHANGE_STATUS = "متعثرة"
    ElseIf ENGAZ >= 0.9 And ENGAZ <= 1 Then
        CHANGE_STATUS = "جاري الانتهاء منها": Exit Function
    Else: CHANGE_STATUS = status
    End If
End Function

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

ممكن تقسم الشروط بالنسب من تحت لفوق من النسبة الأصغر للأكبر

قام بنشر

لاحظت في الكود الذي أرفقته إنك اشتغلت على العمود الأول .. أنا كنت معتقد إنه ملوش لازمة

عموما وضح بقا الشروط باستفاااااااااااااااااضة عشان نحاول نظبطها

قام بنشر

السلام عليكم أستاذنا ياسر

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

طيب اقولك ايه الشروط اللى مش واضحه قدامك

وشكرا لوقت حضرتك

وشكرا لإهتمامك

  • أفضل إجابة
قام بنشر

السلام عليكم

 

-هناك قيم تحتاج round مثل القيمة 89.5% في الخلية b2

-هناك كلمات بها مسافات زيادة تحتاج لازلة هذه المسافات هكذا " منتظمة" تصبح "منتظمة"

 

لست متأكد من اني فهمت الجزء الثاني من هذه الجملة

----

لو بقى الفرق بين المدة المنقضية والمنجز اقل من او يساوي 20 % او المنجز يتخطي المدة المنقضية اذا  يتم التحويل الى منتظمه

----

 

جرب المرفق

 

تحياتي

help+.rar

قام بنشر

السلام عليكم

اخ احمدعبد الناصر

جزاك الله خيرا تقريبا وصلنا كدا لنص الحل

تسلم يمينك

المشكله انك رابط الدالة ب "رينج معين " وانا اريدها تعمل على اى خليه متكونش مرتبطة بعمود ولا بصف

شكرا

وبارك الله فيك

الاخ الزباري

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

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

الطلب التعديل عل الكود

وشكرا لك

قام بنشر

السلام عليكم

 

 

 

المشكله انك رابط الدالة ب "رينج معين " وانا اريدها تعمل على اى خليه متكونش مرتبطة بعمود ولا بصف

 

مظنش انها مرتبطة بحاجة ال a,b,c دول متغيرات الدالة بالحظ شبه اسماء الاعمدة :] 

 

جرب علي خلايا مختلفة ان شاء الله تشتغل معاك

 

تحياتي

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