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

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

قام بنشر

السلام عليكم

دى معادلى لحساب تاريخ احالة للمعاش وفقا لقاعدة معينة

=IF(AND(D2>=DATE(YEAR(D2);1;1);D2<=DATE(YEAR(D2);6;30));DATE(YEAR(D2);6;30);IF(AND(D2>=DATE(YEAR(D2);7;1);D2<=DATE(YEAR(D2);9;30));D2;DATE(YEAR(D2)+1;6;30))

واريد المعادلة على الاكسس

فارجو الافادة

قام بنشر

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

 

الظاهر فيه خطأ في معادلتك ، فلما الصقتها في الاكسل اعطاني خطأ !!

 

على العموم ، الظاهر معادلتك تكون هكذا في الاكسس:

بطريقة iif والتي لا انصحك بها ، لأنك ما بتعرف كوعك من بوعك ، ولا بتقدر تعمل تعديل عليها :

dim myDate as date

myDate = IIf(D2 >= DateSerial(Year(D2), 1, 1) And D2 <= DateSerial(Year(D2), 6, 30), DateSerial(Year(D2), 6, 30), IIf(D2 >= DateSerial(Year(D2), 7, 1) And D2 <= DateSerial(Year(D2), 9, 30)), D2, DateSerial(Year(D2) + 1, 6, 30))

 

 

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


Dim myDate As Date

If D2 >= DateSerial(Year(D2), 1, 1) And D2 <= DateSerial(Year(D2), 6, 30) Then
    myDate = DateSerial(Year(D2), 6, 30)

ElseIf D2 >= DateSerial(Year(D2), 7, 1) And D2 <= DateSerial(Year(D2), 9, 30) Then
    myDate = D2

Else
    myDate = DateSerial(Year(D2) + 1, 6, 30)

End If

 

جعفر

  • Like 2
قام بنشر

اخي الفاضل ، في الاكسس ، تقدر تستعمل الطريقتين ، وخصوصا اذا اردت حفظ هذه القيمة في الجدول 🙂

 

قام بنشر
3 ساعات مضت, medofgf said:

عندى تاريخ احالة للمعاش وفقا للاتى

يعنى اللى تاريخ احالتة للمعاش  اعتبارا من 2020/6/30 حتى 2020/9/30يكتب تاريخ الاحالة الفعلى

 واللى يحال اعتبار من 2020/10/1 حتى 2021/6/30 يكتب تاريخ الاحالة 2021/6/30

 

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

myDate = تاريخ احالة المعاش
D2 = خ =  تاريخ اليوم / او تاريخ المقارنة = 2021 

Dim myDate As Date

If D2 >= DateSerial(Year(D2), 1, 1) And D2 <= DateSerial(Year(D2), 6, 30) Then
  اذا خ بين 1/1/2021 و 30/6/2021
  اذن تاريخ احالة المعاش = 30/6/2021
    myDate = DateSerial(Year(D2), 6, 30)

ElseIf D2 >= DateSerial(Year(D2), 7, 1) And D2 <= DateSerial(Year(D2), 9, 30) Then
  اذا خ بين 1/7/2021 و 30/9/2021
  اذن تاريخ احالة المعاش = خ
    myDate = D2

Else
  اذا خ غير عن الشروط اعلاه
     اذن تاريخ احالة المعاش =  30/6/2022 وهي السنة التالي
    myDate = DateSerial(Year(D2) + 1, 6, 30)

End If

 

جعفر

 

  • Like 1

انشئ حساب جديد او قم بتسجيل دخولك لتتمكن من اضافه تعليق جديد

يجب ان تكون عضوا لدينا لتتمكن من التعليق

انشئ حساب جديد

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

سجل حساب جديد

تسجيل دخول

هل تمتلك حساب بالفعل ؟ سجل دخولك من هنا.

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

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

Important Information