كيفية حساب ساعات العمل الشهرية في Excel؟
في العديد من المنظمات، يتبع الموظفون جدول عمل قياسي، مثل 8 ساعات يوميًا و5 أيام في الأسبوع. يعد حساب إجمالي ساعات العمل الشهرية بدقة أمرًا ضروريًا لمعالجة الرواتب، وتتبع المشاريع، وإدارة القوى العاملة. ومع ذلك، يمكن أن يكون إجمال عدد الساعات يدويًا لكل شهر عرضة للأخطاء ومُستغرق للوقت، خاصة عندما تحتاج إلى أخذ عطلات نهاية الأسبوع، أو العطلات الرسمية، أو الموظفين ذوي الجداول المختلفة في الاعتبار. توفر Excel أدوات وطرق عملية لمساعدتك على تبسيط وأتمتة هذا الحساب، مما يضمن الدقة والكفاءة في عملياتك.
فيما يلي عدة حلول فعالة لحساب ساعات العمل الشهرية في Excel، وهي مناسبة لهياكل البيانات المختلفة والاحتياجات المختلفة:
احسب إجمالي ساعات العمل الشهرية باستخدام الصيغ
كود VBA – احسب ساعات العمل الشهرية لعدة صفوف تلقائيًا
احسب إجمالي ساعات العمل الشهرية باستخدام الصيغ
توفر وظائف الصيغ في Excel نهجًا مباشرًا وموثوقًا لحساب إجمالي ساعات العمل الشهرية عندما تكون على علم بتواريخ البدء والانتهاء، والحصة اليومية لساعات العمل. تعمل هذه الطريقة بشكل أفضل عندما يكون لكل يوم جدول عمل ثابت، وترغب في أخذ عطلات نهاية الأسبوع وبشكل اختياري العطلات في الحسبان. إليك كيفية إعداد حسابك:
1. حدد خلية فارغة حيث تريد عرض النتيجة، وأدخل الصيغة التالية:
=NETWORKDAYS(A2,B2) *8
بعد كتابة الصيغة، اضغط على مفتاح Enter. قد تظهر النتيجة في البداية مُنسقة كتاريخ. يوضح لقطة الشاشة أدناه هذا الأمر:
2. لعرض القيمة كرقم (ساعات العمل)، حدد الخلية التي تحتوي على نتيجة الصيغة. ثم على علامة التبويب الرئيسية، ابحث عن قائمة تنسيق الأرقام واختر عام. ستعرض الخلية الآن العدد الإجمالي لساعات العمل كرقم عادي، كما هو موضح:
نصائح: لتعكس بدقة الفترات التي تشمل العطلات، يمكنك استبعاد تلك الأيام بإضافة نطاق العطلات في صيغتك. استخدم:
=NETWORKDAYS(A2,B2, C2:C4) *8
حيث A2 هو تاريخ البدء، B2 هو تاريخ الانتهاء، وC2:C4 يسرد تواريخ العطلات التي ترغب في استبعادها. قم بتنسيق الخلية إلى عام كما هو موضح أعلاه.
ملاحظة: قم بتعديل المراجع الخلوية (مثل A2، B2، C2:C4) وفقًا لموقع بياناتك. تعمل هذه الطريقة بشكل أفضل مع ساعات العمل اليومية القياسية. إذا كان الموظفون يعملون بدوام جزئي، أو تختلف ساعات العمل اليومية، فقد تحتاج إلى تعديل الصيغة أو استخدام أحد الأساليب البديلة أدناه.
إحدى مزايا استخدام الصيغ هي أنه بمجرد إعدادها، يتم تحديثها تلقائيًا عند تعديل التواريخ أو العطلات. ومع ذلك، بالنسبة للمجموعات الكبيرة التي تحتوي على موظفين متعددين أو سجلات حضور أكثر تعقيدًا، قد تجد الحلول المتقدمة التالية أكثر راحة.
كود VBA – احسب ساعات العمل الشهرية لعدة صفوف تلقائيًا
إذا كانت ورقة العمل الخاصة بك تسجل موظفين متعددين أو صفوف — كل منها مع فترات مختلفة أو تواريخ بداية ونهاية متغيرة — يصبح إدخال الصيغ يدويًا لكل صف مرهقًا. باستخدام ماكرو VBA، يمكنك حساب ساعات العمل لكل صف بالجملة تلقائيًا، مما يوفر الوقت ويقلل الأخطاء اليدوية.
هذا الحل مفيد بشكل خاص عندما يكون لديك جدول حيث يمثل كل صف موظفًا أو فترة عمل مميزة، مع أعمدة لتاريخ البدء، وتاريخ الانتهاء، وبالاختيار تواريخ العطلات. سيقوم الماكرو أدناه بتكرار جميع الصفوف وملء ساعات العمل المحسوبة لكل إدخال.
1. افتح محرر Visual Basic for Applications بالنقر فوق أدوات المطور > Visual Basic. في النافذة الجديدة، انقر فوق إدراج > وحدة، والصق الكود التالي الخاص بـ VBA في منطقة الكود:
Sub CalculateMonthlyWorkingHours()
Dim ws As Worksheet
Dim lastRow As Long
Dim i As Long
Dim startCol As String, endCol As String, holidayCol As String, resultCol As String
Dim holidays As Variant
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set ws = Application.ActiveSheet
' Adjust these column letters as needed
startCol = "A" ' Start Date in Column A
endCol = "B" ' End Date in Column B
holidayCol = "C" ' Holiday list in Column C (optional; can be blank)
resultCol = "D" ' Results in Column D
lastRow = ws.Cells(ws.Rows.Count, startCol).End(xlUp).Row
For i = 2 To lastRow
If ws.Cells(i, startCol).Value <> "" And ws.Cells(i, endCol).Value <> "" Then
If ws.Cells(i, holidayCol).Value <> "" Then
holidays = Split(ws.Cells(i, holidayCol), ",")
ws.Cells(i, resultCol).Value = WorksheetFunction.NetworkDays(ws.Cells(i, startCol), ws.Cells(i, endCol), holidays) * 8
Else
ws.Cells(i, resultCol).Value = WorksheetFunction.NetworkDays(ws.Cells(i, startCol), ws.Cells(i, endCol)) * 8
End If
Else
ws.Cells(i, resultCol).Value = ""
End If
Next i
End Sub
ملاحظات وإرشادات:
- قم بتعديل أحرف الأعمدة (startCol، endCol، holidayCol، resultCol) حسب الحاجة لتناسب تخطيط ورقة العمل الخاصة بك.
- يجب أن يحتوي العمود holidayCol على تواريخ مفصولة بفواصل، مثل 7/3/2025،7/18/2025. إذا لم يكن مطلوبًا، يمكنك تركه فارغًا.
- يفترض هذا الماكرو أن البيانات تبدأ من الصف 2 (بعد العنوان).
2. لتشغيل الماكرو، انقر فوق الزر أو اضغط على F5 بينما الوحدة محددة. سيقوم الكود تلقائيًا بحساب وملء إجمالي ساعات العمل الشهرية لجميع الصفوف في عمود النتائج. إذا واجهت خطأ، تحقق من أن مراجع البيانات وتنسيقات التاريخ صحيحة.
هذه الطريقة فعالة بشكل خاص لأتمتة الحسابات عبر قوائم كبيرة من الموظفين أو بيانات الجداول الزمنية متعددة الصفوف، مما يضمن الاتساق ويقلل من مخاطر فقدان السجلات. إذا كانت بنية بياناتك أكثر مرونة أو كنت ترغب في تلخيص سجلات الحضور اليومية، ففكر في استخدام جدول محوري كما هو موضح أدناه.
أفضل أدوات الإنتاجية لمكتب العمل
عزز مهاراتك في Excel باستخدام Kutools لـ Excel، واختبر كفاءة غير مسبوقة. Kutools لـ Excel يوفر أكثر من300 ميزة متقدمة لزيادة الإنتاجية وتوفير وقت الحفظ. انقر هنا للحصول على الميزة الأكثر أهمية بالنسبة لك...
Office Tab يجلب واجهة التبويب إلى Office ويجعل عملك أسهل بكثير
- تفعيل تحرير وقراءة عبر التبويبات في Word، Excel، PowerPoint، Publisher، Access، Visio وProject.
- افتح وأنشئ عدة مستندات في تبويبات جديدة في نفس النافذة، بدلاً من نوافذ مستقلة.
- يزيد إنتاجيتك بنسبة50%، ويقلل مئات النقرات اليومية من الفأرة!
جميع إضافات Kutools. مثبت واحد
حزمة Kutools for Office تجمع بين إضافات Excel وWord وOutlook وPowerPoint إضافة إلى Office Tab Pro، وهي مثالية للفرق التي تعمل عبر تطبيقات Office.





- حزمة الكل في واحد — إضافات Excel وWord وOutlook وPowerPoint + Office Tab Pro
- مثبّت واحد، ترخيص واحد — إعداد في دقائق (جاهز لـ MSI)
- الأداء الأفضل معًا — إنتاجية مُبسطة عبر تطبيقات Office
- تجربة كاملة لمدة30 يومًا — بدون تسجيل، بدون بطاقة ائتمان
- قيمة رائعة — وفر مقارنة بشراء الإضافات بشكل منفرد