Skip to main content

Kutools for Office — مجموعة واحدة. خمسة أدوات. أنجز المزيد.

كيفية حساب ساعات العمل الشهرية في Excel؟

Author Xiaoyang Last modified

في العديد من المنظمات، يتبع الموظفون جدول عمل قياسي، مثل 8 ساعات يوميًا و5 أيام في الأسبوع. يعد حساب إجمالي ساعات العمل الشهرية بدقة أمرًا ضروريًا لمعالجة الرواتب، وتتبع المشاريع، وإدارة القوى العاملة. ومع ذلك، يمكن أن يكون إجمال عدد الساعات يدويًا لكل شهر عرضة للأخطاء ومُستغرق للوقت، خاصة عندما تحتاج إلى أخذ عطلات نهاية الأسبوع، أو العطلات الرسمية، أو الموظفين ذوي الجداول المختلفة في الاعتبار. توفر Excel أدوات وطرق عملية لمساعدتك على تبسيط وأتمتة هذا الحساب، مما يضمن الدقة والكفاءة في عملياتك.

فيما يلي عدة حلول فعالة لحساب ساعات العمل الشهرية في Excel، وهي مناسبة لهياكل البيانات المختلفة والاحتياجات المختلفة:

احسب إجمالي ساعات العمل الشهرية باستخدام الصيغ

كود VBA – احسب ساعات العمل الشهرية لعدة صفوف تلقائيًا


احسب إجمالي ساعات العمل الشهرية باستخدام الصيغ

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

1. حدد خلية فارغة حيث تريد عرض النتيجة، وأدخل الصيغة التالية:

=NETWORKDAYS(A2,B2) *8

بعد كتابة الصيغة، اضغط على مفتاح Enter. قد تظهر النتيجة في البداية مُنسقة كتاريخ. يوضح لقطة الشاشة أدناه هذا الأمر:

Calculate total working hours per month with formula

2. لعرض القيمة كرقم (ساعات العمل)، حدد الخلية التي تحتوي على نتيجة الصيغة. ثم على علامة التبويب الرئيسية، ابحث عن قائمة تنسيق الأرقام واختر عام. ستعرض الخلية الآن العدد الإجمالي لساعات العمل كرقم عادي، كما هو موضح:

Format the cell to general number

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

=NETWORKDAYS(A2,B2, C2:C4) *8

حيث A2 هو تاريخ البدء، B2 هو تاريخ الانتهاء، وC2:C4 يسرد تواريخ العطلات التي ترغب في استبعادها. قم بتنسيق الخلية إلى عام كما هو موضح أعلاه.

Calculate total working hours per month exclude the holidays

ملاحظة: قم بتعديل المراجع الخلوية (مثل 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. لتشغيل الماكرو، انقر فوق الزر Run button أو اضغط على F5 بينما الوحدة محددة. سيقوم الكود تلقائيًا بحساب وملء إجمالي ساعات العمل الشهرية لجميع الصفوف في عمود النتائج. إذا واجهت خطأ، تحقق من أن مراجع البيانات وتنسيقات التاريخ صحيحة.

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


أفضل أدوات الإنتاجية لمكتب العمل

🤖 Kutools AI Aide: أحدث ثورة في تحليل البيانات اعتمادًا على: التنفيذ الذكي |  توليد الأكواد |  إنشاء الصيغ المخصصة |  تحليل البيانات وتوليد الرسوم البيانية |  استخدام Kutools Functions...
ميزات شائعة: البحث، تمييز أو وضع علامة على المكررات | حذف الصفوف الفارغة | دمج الأعمدة أو الخلايا بدون فقدان البيانات | تقريب بدون الصيغة...
بحث متقدم: بحث بمعايير متعددة VLookup | بحث بقيم متعددة VLookup | بحث في عدة ورقات VLookup | مطابقة غامضة...
قائمة منسدلة متقدمة: إنشاء قائمة منسدلة بسرعة | قائمة منسدلة معتمدة | قائمة منسدلة متعددة الاختيارات...
مدير الأعمدة: إضافة عدد محدد من الأعمدة | نقل الأعمدة | تبديل حالة إظهار الأعمدة المخفية | مقارنة النطاقات والأعمدة...
ميزات مميزة: التركيز على الشبكة | عرض التصميم | شريط الصيغ المحسن | مدير أدوات المصنف وورقة العمل | مكتبة النص التلقائي | منتقي التاريخ | دمج البيانات | تشفير/فك تشفير الخلايا | إرسال البريد الإلكتروني حسب الجدول | مرشح متقدم | تصفية خاصة (تصفية الخلايا التي تحتوي على خط عريض/مائل/يتوسطه خط...)...
أفضل15 مجموعة أدوات:12 أداة نصية (إضافة نص، حذف الأحرف المحددة، ...) | أكثر من50 نوع رسم بياني (مخطط جانت، ...) | أكثر من40 صيغة عملية (حساب العمر بناءً على تاريخ الميلاد، ...) |19 أداة إدراج (إدراج رمز الاستجابة السريعة، إدراج صورة من المسار، ...) |12 أداة تحويل (تحويل إلى كلمات، تحويل العملة، ...) |7 أدوات دمج وتقسيم (دمج متقدم للصفوف، تقسيم الخلايا، ...) | ... والمزيد
استخدم Kutools بلغتك المفضلة – يدعم الإنجليزية، الإسبانية، الألمانية، الفرنسية، الصينية، وأكثر من40 لغة أخرى!

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