هاوي اكسل قام بنشر أغسطس 4, 2023 قام بنشر أغسطس 4, 2023 اريد ان اجمع ايام العمل فقط بدون الجمعة والسبت على تاريخ معين مثلا تاريخ اليوم 4/8/2023 +100 يوم عمل = ايام عمل.xlsx
أفضل إجابة أ / محمد صالح قام بنشر أغسطس 4, 2023 أفضل إجابة قام بنشر أغسطس 4, 2023 يمكنك استعمال هذه المعادلة للتوصل لتاريخ النهاية بعد 100 يوم عمل =WORKDAY.INTL($C$5-1,100,7) وهذه الدالة للإصدارات الأحدث (2010 وما بعدها) تراعي خيارات عطلة نهاية الاسبوع ورقم 7 يعني الجمعة والسبت ويمكن استخدام هذه الدالة للاصدارات الاقدم (2007 وما قبلها) =WORKDAY($c$5,100)-1 هذه الدالة تحسب عدد الأيام على ان اجازة نهاية الاسبوع هي السبت والاحد لذلك تم انقاص يوم من الناتج لتحسب على ان عطلة نهاية الاسبوع الجمعة والسبت ملحوظة: وتم تعديل الملف المرفق ليحسب عدد أيام العمل بين تاريخين للإصدارات القديمة بدالة networkdays والحديثة networkdays.intl بالتوفيق ايام عمل.xlsx 2
احمد عبدالحليم قام بنشر أغسطس 4, 2023 قام بنشر أغسطس 4, 2023 (معدل) السلام عليكم بعد اذن استاذنا الكبير محمد صالح حل اخر يمكن استخدام هذه المعادلة NETWORKDAYS.INTL(C4;C4+D4;7) حيث c4 هى تاريخ البداية و D4 عدد ايام العمل ورقم 7 المقصود به العطلة الاسبوعيه الجمعة والسبت ويمكن تغييره حسب العطله الاسبوعبه ايام عمل.xlsx تم تعديل أغسطس 4, 2023 بواسطه أحمد حليم 1
AbuuAhmed قام بنشر أغسطس 4, 2023 قام بنشر أغسطس 4, 2023 (معدل) جربوا مثالي أيضا ايام عمل_03.xlsm تم تعديل أغسطس 5, 2023 بواسطه AbuuAhmed تبديل المرفق
AbuuAhmed قام بنشر أغسطس 5, 2023 قام بنشر أغسطس 5, 2023 (معدل) 11 ساعات مضت, أ / محمد صالح said: ويمكن استخدام هذه الدالة (الاصدار الاقدم) =WORKDAY(C5,100)-1 هذه الدالة تحسب عدد الأيام على ان اجازة نهاية الاسبوع هي السبت والاحد لذلك تم انقاص يوم من الناتج لتحسب على ان عطلة نهاية الاسبوع الجمعة والسبت معالجة خاطئة، وقد عملت مقارنة لسنة كاملة وأظهرت خطأ المعالجة. يبقى دالتي لمن يستعملون نسخ قديمة من الاكسل أو دالة WORKDAY.INTL للإصدارات الحديثة، لم أجربها لأن نسخة الاكسل عندي قديمة ويمكن كذلك استخدام دالتي. ايام عمل_05.xlsm تم تعديل أغسطس 5, 2023 بواسطه AbuuAhmed تبديل المرفق
AbuuAhmed قام بنشر أغسطس 5, 2023 قام بنشر أغسطس 5, 2023 14 ساعات مضت, هاوي اكسل said: ريد ان اجمع ايام العمل فقط بدون الجمعة والسبت على تاريخ معين ياريت توضح لنا أي دالة استخدمت. وإذا كانت الدالة WORKDAY.INTL فهل يمكنك إضافتها لمرفقي (بعد ترفية الملف طبعا) بإضافة عمود جديد للسنة كاملة ثم رفع الملف. أحتاج للمقارنة ضروري.
هاوي اكسل قام بنشر أغسطس 5, 2023 الكاتب قام بنشر أغسطس 5, 2023 الله يعطيكم العافية جميعاً ياغالين جميع الملفات صحيحة جزاكم الله خيراً
AbuuAhmed قام بنشر أغسطس 5, 2023 قام بنشر أغسطس 5, 2023 3 دقائق مضت, هاوي اكسل said: جميع الملفات صحيحة حياك الله يا هاوي اكسل سألتك عن الدوال، فالملفات/المرفقات تحتوي على أربع دوال وهي: WORKDAY WORKDAY.INTL NETWORKDAYS.INTL MyWorkDay فأيهم اخترت؟
AbuuAhmed قام بنشر أغسطس 5, 2023 قام بنشر أغسطس 5, 2023 12 دقائق مضت, هاوي اكسل said: NETWORKDAYS.INTL اخترت هذه ممتاز، هذه الدالة جلبها الزميل أحمد حليم وهي لا تلبي طلبك لأن هذه الدالة تحسب لك الأيام وليس تاريخ النهاية، فهي تحتاج تاريخين البداية والنهاية ومعرف العطلة الأسبوعية. أما طلبك فهو عملية عكسية لهذه الدالة فيبقى عندك ثلاث فقط من أصل أربع دوال. 1
احمد عبدالحليم قام بنشر أغسطس 5, 2023 قام بنشر أغسطس 5, 2023 انا قمت بتجربة الدالة NETWORKDAYS.INTL على اكثر من تاريخ مع عدد مختلف لايام العمل قبل طرحها تحسبا للاخطاء وكانت النتيائج كلها صحيحة اخى AbuuAhmed هل قمت بتجربتها واعطت نتائج خاطئة
AbuuAhmed قام بنشر أغسطس 5, 2023 قام بنشر أغسطس 5, 2023 (معدل) 1 ساعه مضت, أحمد حليم said: هل قمت بتجربتها واعطت نتائج خاطئة نعم عزيزي، أنت فهمت المطلوب بشكل مقلوب. المطلوب هو تاريخ نهاية العمل، هو معطيك تاريخ البداية ويحتاج إضافة 100 يوم عمل صافي يعني بدون العطل الأسبوعية. الدالة المعنية تعطي صافي أيام عمل محصورة بين تاريخين. تم تعديل أغسطس 5, 2023 بواسطه AbuuAhmed 1
احمد عبدالحليم قام بنشر أغسطس 5, 2023 قام بنشر أغسطس 5, 2023 10 ساعات مضت, AbuuAhmed said: نعم عزيزي، أنت فهمت المطلوب بشكل مقلوب. المطلوب هو تاريخ نهاية العمل، هو معطيك تاريخ البداية ويحتاج إضافة 100 يوم عمل صافي يعني بدون العطل الأسبوعية. الدالة المعنية تعطي صافي أيام عمل محصورة بين تاريخين. اعتقد فى المطلوب انه ذكر ذلك (اريد ان اجمع ايام العمل فقط بدون الجمعة والسبت على تاريخ معين) وشكرا على تنبيهى استاذنا الفاضل AbuuAhmed 1
AbuuAhmed قام بنشر أغسطس 5, 2023 قام بنشر أغسطس 5, 2023 اضطررت أن أرسل ملفي إلى صديق ليحوله إلى إصدار أعلى لأرى نتائج الدوال الأخرى. يكفي التركيز على أول سجلين، أشبعوها فحصا وتأكدوا من تطبيق المعادلات بشكل صحيح حتى لا نظلم نتائجها. أرجو الاهتمام بالموضوع بشكل علمي وبعيدا عن المجاملات وحساب الخواطر 🙂. وهذه دعوة للجميع وليس لمن شاركوا في هذا الموضوع فقط. ايام عمل_06.xlsm
AbuuAhmed قام بنشر أغسطس 5, 2023 قام بنشر أغسطس 5, 2023 11 ساعات مضت, AbuuAhmed said: معالجة خاطئة، وقد عملت مقارنة لسنة كاملة وأظهرت خطأ المعالجة. أعتذر المعالجة سليمة واتضحت بعد التعديل على دالتي، والتعديل كان بحذف أيام العطلة الأسبوعية في نهاية المدة. فاستخدام الدالة بهذه الصورة: = WORKDAY(C5,100) - 1 سليما. الدالة بعد التعديل: Function myWorkDay(FmDate As Date, NetDays1 As Integer) As Date 'WORKDAY شبيهة بدالة الاكسل 'FmDate أول يوم عمل Dim Weekends As Integer Dim ToDate As Date Dim NetDays2 As Integer Dim LoopRepeat As Integer Weekends = Int(NetDays1 / 2.5) ToDate = FmDate + NetDays1 + Weekends - 1 Weekends = CountWkDay(FmDate, ToDate, vbFriday) + _ CountWkDay(FmDate, ToDate, vbSaturday) NetDays2 = ToDate - FmDate - Weekends + 1 Do While NetDays1 <> NetDays2 LoopRepeat = LoopRepeat + 1 If LoopRepeat = 10 Then 'Debug.Print "LoopRepeat", LoopRepeat Exit Do End If If NetDays1 > NetDays2 Then NetDays2 = NetDays2 + 1 Else NetDays2 = NetDays2 - 1 End If ToDate = FmDate + NetDays2 + Weekends - 1 Weekends = CountWkDay(FmDate, ToDate, vbFriday) + _ CountWkDay(FmDate, ToDate, vbSaturday) NetDays2 = ToDate - FmDate - Weekends + 1 Loop If Weekday(ToDate) >= vbFriday Then ToDate = ToDate - 1 If Weekday(ToDate) >= vbFriday Then ToDate = ToDate - 1 myWorkDay = ToDate End Function وعليه لا حاجة لمستخدمي الاكسل لدالتي، وتبقى مطلوبة لمستخدمي الأكسس. يبقى فحص دالة واحدة فقط. 1
AbuuAhmed قام بنشر أغسطس 5, 2023 قام بنشر أغسطس 5, 2023 تم الانتهاء من الفحص ومرفق الملف الأخير. ايام عمل_07.xlsm 3
احمد عبدالحليم قام بنشر أغسطس 5, 2023 قام بنشر أغسطس 5, 2023 شكرا على اهتمامك بالموضوع والمراجعة والفحص تحياتى لك 1
هاوي اكسل قام بنشر أغسطس 6, 2023 الكاتب قام بنشر أغسطس 6, 2023 6 ساعات مضت, AbuuAhmed said: تم الانتهاء من الفحص ومرفق الملف الأخير. ايام عمل_07.xlsm 44.67 kB · 3 downloads جزاك الله خير اخي الغالي 1
AbuuAhmed قام بنشر أغسطس 6, 2023 قام بنشر أغسطس 6, 2023 10 ساعات مضت, AbuuAhmed said: أعتذر المعالجة سليمة المعالجة يعني (التحايل) في استخدامها وإلا الاستخدام المعياري الصحيح لها مختلف. يلزم الانتباه.
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.