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

تحويل المعادلة من الاكسل الى الاكسس


mohamedfgf

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

السلام عليكم

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

=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
رابط هذا التعليق
شارك

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