KutoolsforOffice — حل واحد، خمس أدوات قوية.تحقيق المزيد بجهد أقل.

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

المؤلفXiaoyangتاريخ التعديل

في العديد من المؤسسات، يتبع الموظفون جدول عمل قياسي، مثل 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 أثناء تحديد الوحدة النمطية. سيقوم الكود تلقائيًّا بحساب وتعبئة إجمالي ساعات العمل الشهرية لجميع الصفوف في عمود النتائج. وإذا واجهت خطأً، فتحقق من صحة مراجع بياناتك وتنسيق التاريخ.

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


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

🤖KUTOOLS AI مساعد: ثوّر تحليل البيانات استنادًا إلى:التنفيذ الذكي   |  إنشاء الكود|  إنشاء الصيغ المخصصة  |  تحليل البيانات وإنشاء المخططات البيانية|  استدعاء الوظائف المحسنة
الميزات الشائعة:البحث، التمييز أو وضع علامة على المكررات   |  حذف الصفوف الفارغة   |  دمج الأعمدة أو الخلايا دون فقدان البيانات   |  التقريب بدون استخدام الصيغة...
بحث متقدم:VLookup متعدد المعايير  |  VLookup متعدد القيم  |   VLookup عبر أوراق متعددة   |   مطابقة غامضة....
قائمة منسدلة متقدمة:إنشاء قائمة منسدلة بسرعة   |  قائمة منسدلة تابعة   |  قائمة منسدلة متعددة الاختيار....
مدير الأعمدة:إضافة عدد محدد من الأعمدة|نقل الأعمدة|تبديل حالة ظهور الأعمدة المخفية|مقارنة النطاقات والأعمدة...
ميزات مميزة:التركيز على الشبكة   |  عرض التصميم   |شريط الصيغ المحسن   | مدير الدفتر والورقة   |  مكتبة الموارد(نص تلقائي)|  أداة اختيار التاريخ   |  تجميع ورقات العمل  |  تشفير/فك تشفير الخلايا   | إرسال رسائل البريد الإلكتروني حسب القائمة   |  مرشح متقدم   |   تصفية خاصة(تصفية الخلايا التي تحتوي على خط عريض/مائل/يتوسطه خط...) ...
أفضل 15 مجموعات الأدوات:12 أدواتالنصوص(إضافة نص،حذف الأحرف المحددة، ...)|   50+أنواعالمخططات البيانية(مخطط جانت، ...)|   40+ صيغعملية(حساب العمر بناءً على تاريخ الميلاد، ...)|   19 أدواتالإدراج(إدراج رمز QR،إدراج صورة من المسار، ...)|   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.

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