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

كيف تحسب الوقت المنقضي — سواءً كان أيامًا أو أشهرًا أو سنوات — بين تاريخين ووقتين في Excel؟

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

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

احسب الوقت المنقضي/الأيام/الأشهر/السنوات باستخدام صيغة

استخدم كود VBA لحساب الوقت المنقضي مباشرةً


احسب الوقت المنقضي/الأيام/الأشهر/السنوات باستخدام صيغة

احسب الوقت المنقضي

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

1. انقر في خلية فارغة حيث تريد عرض الوقت المنقضي (مثلًا، الخلية C2)، ثم أدخل الصيغة التالية:

=IF(B2<A2,1+B2-A2, B2-A2)
يجب أن تحتوي الخلية A2 على وقت البدء، والخلية B2 على وقت الانتهاء. وتتعامل هذه الصيغة بذكاء مع الحالات التي يكون فيها وقت الانتهاء أبكر من وقت البدء—مثل النوبات التي تمتد عبر منتصف الليل—لضمان دقة الحساب.

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

3. مع بقاء خلايا النتائج مُحدَّدة، انقر بزر الماوس الأيمن لفتح قائمة السياق، ثم اخترتعيين تنسيق الخلية. في مربع الحوارتعيين تنسيق الخلية، ضمن علامة التبويبNumber، اخترTime من القائمة على اليسار. ثم على اليمين، اختر تنسيق الوقت المفضَّل لديك (مثل hh:mm أو h:mm:ss، إلخ) لعرض النتائج كأوقات منقضية يسهل قراءتها.
لقطة شاشة تُظهر مربع حوار تنسيق الخلايا لتعيين تنسيقات الوقت في Excel

4. انقرOK لتطبيق التنسيق. سيتم الآن عرض قيم الوقت وفقًا لاختيارك، مما يسهل تفسير مدد الوقت الإجمالية.

نصائح إضافية:

  • تأكد من تنسيق عمودَي وقت البدء ووقت الانتهاء كأوقات صالحة في Excel لتجنب حدوث الأخطاء.
  • إذا كنت تتوقّع أن يمتدّ بعض أوقات الانتهاء إلى اليوم التالي (مثلًا، في نوبات العمل الليلية)، فإن الصيغة أعلاه تأخذ ذلك في الحسبان بإضافة 1 —وهو ما يعادل يومًا كاملًا— عند الحاجة.
  • إذا ظهر لك خطأ «#VALUE!»، فافحص الخلايا المصدر بحثًا عن إدخالات فارغة أو ذات تنسيق غير صحيح.

احسب الأيام أو الأشهر أو السنوات المنقضية

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

لحساب الأيام المنقضية، انقر في خلية فارغة (مثل C2) وأدخل الصيغة التالية:

=B2-A2
هنا، A2 هو تاريخ البدء وB2 هو تاريخ الانتهاء. بعد الضغط علىEnterاسحب مقبض التعبئة لأسفل لحساب القيم في باقي الصفوف.
لقطة شاشة تُظهر الصيغة المستخدمة لحساب الأيام المنقضية في Excel

ملاحظات:تأكد من استخدام كلا التاريخين لتنسيق تاريخ Excel؛ وإلا فقد تكون النتيجة غير صحيحة. إذا كنت تفضّل احتساب الأيام الكاملة فقط (مع تجاهل الساعات والدقائق)، فإن هذه الصيغة مناسبة.

لحساب الأشهر بين تاريخين، أدخل في خلية فارغة:

=DATEDIF(A2,B2,"m")
تُرجع هذه الصيغة عدد الأشهر الكاملة المنقضية. وإذا كانت الأشهر الجزئية ذات أهمية، فيمكنك أيضًا عرض الأشهر الكسرية مع الأيام.

للسنوات (بما في ذلك السنوات الجزئية)، استخدم:

=DATEDIF(A2,B2,"y")
إذا أردت السنوات كرقم عشري، فقد تجرّب=DATEDIF(A2,B2,"m")/12وقم بتنسيق خلية النتيجة كرقم للحصول على دقة أعلى.

احتياطات:

  • إذا كان تاريخ الانتهاء يسبق تاريخ البدء، فستُرجع هذه الصيغ قيمًا سالبة—فكّر في إضافة تحقق من الصحة لتجنب هذا الموقف.
  • تأكد من كتابة DATEDIF بدقة؛ إذ سيؤدي أي خطأ إملائي إلى ظهور رسالة الخطأ "#NAME؟" في Excel، نظرًا لأن هذه الدالة غير مدرجة في قائمة دوال Excel القياسية.

احسب السنوات والأشهر والأيام المنقضية بصيغة مدمجة

إذا كانت مهمتك تتطلب تقسيمًا أكثر تفصيلًا (مثلًا: «سنتان و6 أشهر و19 يومًا»)، فيمكن لبرنامج Excel تنفيذ ذلك بسهولة باستخدام دالة DATEDIF المدمجة. ويُعد هذا الحل مثاليًا لحساب مدد خدمة الموظفين، أو تحديد الأعمار بدقة، أو أي سيناريو يتطلب فصلًا واضحًا بين السنوات والأشهر والأيام.

حدد خلية فارغة (مثل C2)، وأدخل الصيغة التالية:

=DATEDIF(A2,B2,"Y") & " Years, " & DATEDIF(A2,B2,"YM") & " Months, " & DATEDIF(A2,B2,"MD") & " Days"
ثم اضغطEnter. يجمع هذا بين عدة عمليات حسابية باستخدام الدالة DATEDIF لإنشاء سلسلة نصية مقروءة تُظهر المدة الزمنية المنقضية بدقة.
لقطة شاشة تُظهر الصيغة المستخدمة لحساب السنوات والأشهر والأيام بين تاريخين في Excel

إذا كنت بحاجة إلى تطبيق الصيغة على صفوف متعددة، فاستخدم مقبض التعبئة كما سبق. ولضمان عرض النص بشكل صحيح، ننصحك بتنسيق العمود الناتج كـ«عام».

نصيحة مفيدة:إذا شمل حسابك سنة كبيسة أو تواريخ ذات أطوال أشهر مختلفة، فلا تقلق—فإن دالة DATEDIF تحسب النتائج بدقة وفقًا للأشهر والسنين التقويمية.

استكشاف الأخطاء وتذكيرات:

  • تحقق دائمًا من البيانات الأصلية بحثًا عن خلايا فارغة أو تنسيقات غير صحيحة للتاريخ/الوقت.
  • إذا لاحظت أخطاءً، جرّب إعادة تنسيق أعمدة الإدخال كـ«تاريخ» أو «وقت» لتوحيد البيانات المُدخلة.
  • إذا لم تُحدَّث الصيغ تلقائيًا بعد تعديل الخلية المصدر، اضغط F9 لإجبار Excel على إعادة الحساب، أو تأكد من أن خيار الحساب التلقائي مفعَّل في إعدادات Excel.

كود VBA لحساب الوقت المنقضي بين تاريخين ووقتين

إذا كنت بحاجة إلى أتمتة الحسابات أو معالجة مجموعات بيانات كبيرة، فإن VBA أداةٌ قوية وفعّالة. فعلى سبيل المثال، يمكنك دمج نتائج الوقت المنقضي في خلية واحدة أو تخصيص الحسابات وفقًا لاحتياجاتك بدقة.

1. انتقل إلىDeveloper Tools > Visual Basic؛ وستظهر نافذة جديدة باسمMicrosoft Visual Basic for Applications. انقرInsert > Module والصق الكود التالي:

Sub CalcElapsedTimeBySelection()
    Dim startRange As Range
    Dim endRange As Range
    Dim outputCell As Range
    Dim ws As Worksheet
    Dim i As Long
    Dim rowCount As Long
    Dim elapsedTime As Double
    Dim startTime As Variant, endTime As Variant
    Dim xTitleId As String
    
    xTitleId = "Kutools for Excel"
    On Error Resume Next
    
    ' Prompt user for ranges
    Set startRange = Application.InputBox("Select the range for Start Time:", xTitleId, Type:=8)
    If startRange Is Nothing Then Exit Sub
    
    Set endRange = Application.InputBox("Select the range for End Time:", xTitleId, Type:=8)
    If endRange Is Nothing Then Exit Sub
    
    Set outputCell = Application.InputBox("Select the top-left cell for output results:", xTitleId, Type:=8)
    If outputCell Is Nothing Then Exit Sub
    
    On Error GoTo 0
    
    ' Check matching range sizes
    If startRange.Rows.Count <> endRange.Rows.Count Then
        MsgBox "The start and end time ranges must have the same number of rows.", vbExclamation, xTitleId
        Exit Sub
    End If
    
    ' Loop through rows
    rowCount = startRange.Rows.Count
    For i = 1 To rowCount
        startTime = startRange.Cells(i, 1).Value
        endTime = endRange.Cells(i, 1).Value
        
        If IsNumeric(startTime) And IsNumeric(endTime) Then
            elapsedTime = CDbl(endTime) - CDbl(startTime)
            ' Handle next-day (cross-midnight) case
            If elapsedTime < 0 Then elapsedTime = elapsedTime + 1
            outputCell.Offset(i - 1, 0).Value = elapsedTime
            outputCell.Offset(i - 1, 0).NumberFormat = "[h]:mm:ss"
        Else
            outputCell.Offset(i - 1, 0).Value = "Invalid Time"
        End If
    Next i
    
    MsgBox "Elapsed times calculated successfully for " & rowCount & " rows.", vbInformation, xTitleId
End Sub

2. انقر على زرزر التشغيل لتشغيل الكود. سيُطلب منك تحديد نطاق وقت البدء ونطاق وقت الانتهاء، بالإضافة إلى المكان الذي تريد إخراج الوقت المنقضي فيه. وستُعرض النتيجة بتنسيق الوقت.

يُعد هذا النهج باستخدام VBA فعّالًا بشكل خاص عندما تريد تخصيص الحسابات أو التنسيق بشكل أكبر، ويوفّر وقتك عند العمل مع جداول بيانات ضخمة جدًّا.


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

🤖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 يومًا بكامل الميزات— بدون تسجيل، بدون بطاقة ائتمان
  • أفضل قيمة— وفِّر مقارنةً بشراء الإضافات بشكل منفصل