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

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

قام بنشر

وعليكم السلام ورحمة الله وبركاته ...

الأصل أخي @ahmed_dz ، أن توضح طلبك بأكثر مما قمت به .. فمثلاً :-

هل تريد الاحتساب ليكون للفترة بين G2-G3 مع استثناء الفترة التي بين C4-F4 ( العطلتين ) . والأمر نفسه للفترة بين H2-H3 !!!!

أم ماذا ؟؟؟ يرجى توضيح مطلبك بحرص أكثر حتى تجد إجابة شافية وسريعة .

  • Thanks 1
قام بنشر

الأصل ان مدة العمل طيلة أيام السنة حتى عطلة نهاية الأسبوع تعتبر عمل بإستثناء أيام العطل 

وجزاك الله خيراً

قام بنشر

طيب وقبل طرح الحل ، هل النتيجة في الصورة التالية صحيحة ؟

image.png.186ac7723aaf059f757d59d747797f37.png

لاحظ أنني قمت بتعديل تاريخ العطل الصيفية والشتوية من 2022 لتصبح 2025

قام بنشر
18 ساعات مضت, Foksh said:

وعليكم السلام ورحمة الله وبركاته ...

الأصل أخي @ahmed_dz ، أن توضح طلبك بأكثر مما قمت به .. فمثلاً :-

هل تريد الاحتساب ليكون للفترة بين G2-G3 مع استثناء الفترة التي بين C4-F4 ( العطلتين ) . والأمر نفسه للفترة بين H2-H3 !!!!

أم ماذا ؟؟؟ يرجى توضيح مطلبك بحرص أكثر حتى تجد إجابة شافية وسريعة .

 

16 ساعات مضت, Foksh said:

طيب وقبل طرح الحل ، هل النتيجة في الصورة التالية صحيحة ؟

image.png.186ac7723aaf059f757d59d747797f37.png

لاحظ أنني قمت بتعديل تاريخ العطل الصيفية والشتوية من 2022 لتصبح 2025

 

يا اخي بارك الله فيك  واليك النموذج 

 

حساب أيام العمل.JPG

قام بنشر (معدل)

الصراحة معظم دوال الإكسل المستجدة أجهلها، فعملت لك دالة بالـ vba
عملتها وأنا شبعان وأفكر في القيلولة، فربما تحتوي على أخطاء.

 

Function Between(inDate As Date, Date1 As Date, Date2 As Date) As Boolean
    Between = inDate >= Date1 And inDate <= Date2
End Function

Function getHolidays(Holiday1 As Date, Holiday2 As Date, Workday1 As Date, Workday2 As Date) As Integer
    Dim Date1 As Date, Date2 As Date
    
    If Between(Holiday1, Workday1, Workday2) Or _
       Between(Holiday2, Workday1, Workday2) Or _
       Between(Workday1, Holiday1, Holiday2) Or _
       Between(Workday2, Holiday1, Holiday2) Then
        
        Date1 = IIf(Holiday1 >= Workday1, Holiday1, Workday1)
        Date2 = IIf(Holiday2 <= Workday2, Holiday2, Workday2)
        getHolidays = Date2 - Date1 + 1
    End If
End Function

 

حساب أيام العمل خلال_03.xlsm

تم تعديل بواسطه AbuuAhmed
تبديل المرفق
قام بنشر

مشكور على الجهد  والإهتمام  بالمناشير المطروحة من قبل الأعضاء

قام بنشر
21 ساعات مضت, ahmed_dz said:

مشكور على الجهد  والإهتمام  بالمناشير المطروحة من قبل الأعضاء

حياك الله أخي، جوابك غير واضح، إذا لا زلت تنتظر حلول أخرى فاطلبه بشكل مباشر ليستمر الأعضاء في المحاولات.

 

أما إذا وجدت الحل فحدده ليكن كذلك واضحا للجميع.

قام بنشر

لم أجد الحل، ربما علي أن أطرحه بشكل أخر 

لكم مني كل التقدير و الإحترام 

قام بنشر (معدل)
4 ساعات مضت, ahmed_dz said:

لم أجد الحل، ربما علي أن أطرحه بشكل أخر

أعتقد الحل رياضياتيا صحيح، فقط المشكلة أني لم احترز لوجود خلايا فاضية بناء على المثال في المرفق السابق.
لاحظ أجوبتك (مبهمة) غير صريحة!! يجب تحديد الخطأ بشكل واضح.

محاولة أخرى بدون تغيير في النتائج فقط تم تبديل نوع المتغيرات احترازا عند وجود خلايا فاضية في العطل/الإجازات.
 

Function Between(inDate As Long, Date1 As Long, Date2 As Long) As Boolean
    Between = inDate >= Date1 And inDate <= Date2
End Function

Function getHolidays(Holiday1 As Long, Holiday2 As Long, _
                     Workday1 As Long, Workday2 As Long) As Integer
    Dim Date1 As Long, Date2 As Long
    
    'On Error Resume Next
    
    'Min date is 31/12/1899
    If Holiday1 <= 0 Or Holiday2 <= 0 Then Exit Function
    
    If Between(Holiday1, Workday1, Workday2) Or _
       Between(Holiday2, Workday1, Workday2) Or _
       Between(Workday1, Holiday1, Holiday2) Or _
       Between(Workday2, Holiday1, Holiday2) Then
        
        Date1 = IIf(Holiday1 >= Workday1, Holiday1, Workday1)
        Date2 = IIf(Holiday2 <= Workday2, Holiday2, Workday2)
        getHolidays = Date2 - Date1 + 1
    End If
End Function

 

حساب أيام العمل خلال_04.xlsm

تم تعديل بواسطه AbuuAhmed

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

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

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

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

سجل حساب جديد

تسجيل دخول

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

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

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

Important Information