اكسل

احصل على ساعات العمل بين التواريخ والأوقات

Get Work Hours Between Dates

صيغة Excel: احصل على ساعات العمل بين التواريخ والأوقاتصيغة عامة
=( NETWORKDAYS (start,end)-1)*(upper-lower) + IF ( NETWORKDAYS (end,end), MEDIAN ( MOD (end,1),upper,lower),upper) - MEDIAN ( NETWORKDAYS (start,start)* MOD (start,1),upper,lower)
ملخص

لحساب إجمالي ساعات العمل بين تاريخين ووقتين ، يمكنك استخدام صيغة تستند إلى دالة NETWORKDAYS. في المثال الموضح ، يحتوي E5 على هذه الصيغة:





 
=( NETWORKDAYS (B5,C5)-1)*(upper-lower) + IF ( NETWORKDAYS (C5,C5), MEDIAN ( MOD (C5,1),upper,lower),upper) - MEDIAN ( NETWORKDAYS (B5,B5)* MOD (B5,1),upper,lower)

حيث 'أقل' هو نطاق مسمى H5 و 'العلوي' هو النطاق المسمى H6.

كيفية إضافة التحقق من صحة البيانات في Excel

ملاحظة: هذا المثال مستوحى من تحدي صيغة على Chandoo ، وحل أكثر اكتمالا مقدم من سيد الصيغة باري هوديني في منتدى MrExcel.





تفسير

تحسب هذه الصيغة إجمالي ساعات العمل بين تاريخين ووقتين ، والتي تحدث بين الوقت 'الأدنى' و 'العلوي'. في المثال الموضح ، الوقت الأدنى هو 9:00 صباحًا والوقت الأعلى هو 5:00 مساءً. تظهر هذه في الصيغة باسم النطاقات المسماة 'السفلي' و 'العلوي'.

منطق الصيغة هو حساب جميع ساعات العمل الممكنة بين تاريخي البدء والانتهاء ، بما في ذلك ، ثم التراجع عن أي ساعات في تاريخ البدء التي تحدث بين وقت البدء والوقت الأقل ، وأي ساعات في تاريخ الانتهاء تحدث بين وقت الانتهاء والوقت العلوي.



ال وظيفة NETWORKDAYS يتعامل مع استبعاد عطلات نهاية الأسبوع والعطلات (عند تقديمه كمجموعة من التواريخ). يمكنك التبديل إلى NETWORKDAYS.INTL إذا كان جدولك يحتوي على أيام عمل غير قياسية.

إخراج التنسيق

والنتيجة هي رقم يمثل إجمالي الساعات. مثل جميع مرات Excel ، سوف تحتاج إلى تنسيق الإخراج بملف تنسيق الأرقام . في المثال الموضح ، نستخدم:

 
[h]:mm

تمنع الأقواس المربعة Excel من التدحرج عندما تكون الساعات أكبر من 24. بعبارة أخرى ، تجعل من الممكن عرض ساعات أكبر من 24. إذا كنت بحاجة إلى قيمة عشرية لساعات ، فيمكنك اضرب الناتج في 24 وتنسيقه كرقم عادي.

نسخة بسيطة

إذا كانت أوقات البدء والانتهاء سوف دائما تحدث بين الأوقات الدنيا والعليا ، يمكنك استخدام نسخة أبسط من هذه الصيغة:

صيغة لحساب الخلايا مع النص
 
=( NETWORKDAYS (B5,C5)-1)*(upper-lower)+ MOD (C5,1)- MOD (B5,1)

لا وقت البدء ووقت الانتهاء

لحساب إجمالي ساعات العمل بين تاريخين ، بافتراض أن جميع الأيام هي أيام عمل كاملة ، يمكنك استخدام صيغة أبسط:

 
= NETWORKDAYS (start,end,holidays)*hours

ارى شرح هنا للتفاصيل.

المؤلف ديف برونز


^