Skip to main content

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

كيفية حساب الأيام المتبقية حتى الموعد النهائي في Excel؟

Author Xiaoyang Last modified

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


حساب الأيام المتبقية حتى الموعد النهائي باستخدام الصيغ

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

1. في خلية فارغة حيث تريد عرض النتيجة (على سبيل المثال، في العمود B بجانب تاريخ الموعد النهائي في العمود A)، أدخل الصيغة التالية:

=A2-TODAY()

تطرح هذه الصيغة تاريخ اليوم (كما هو محدد بواسطة TODAY()) من تاريخ الموعد النهائي في الخلية A2. النتيجة هي عدد الأيام المتبقية.

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

2. لضمان أن تكون نتائج الحساب الخاصة بك معروضة كأرقام، قم بتنسيق الخلايا الناتجة كـ عام. انقر فوق علامة التبويب الصفحة الرئيسية > حدد قائمة تنسيق الأرقام المنسدلة > اختر عام، كما هو موضح أدناه:

a screenshot of changing the format of the result cells

ملاحظات ونصائح عملية:

  • إذا كان تاريخ الموعد النهائي قد انقضى (قبل اليوم)، ستكون النتيجة رقمًا سالبًا، مما يشير إلى عدد الأيام المتأخرة.
  • إذا كنت ترغب في تجنب عرض القيم السالبة (على سبيل المثال، عرض 0 للمهام المتأخرة)، استخدم الصيغة البديلة التالية:
=MAX(0,A2-TODAY())

تقارن هذه الصيغة الأيام المتبقية المحسبة بـ 0 وتعرض الأكبر بينهما - مما يستبدل الأرقام السالبة بـ 0.

a screenshot showing how to replace the negative numbers with0

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

  • دائما تحقق من أن تواريخ المواعيد النهائية الخاصة بك هي قيم تاريخ صالحة في Excel. التواريخ غير الصحيحة أو بتنسيق النص ستؤدي إلى أخطاء في الحساب أو نتائج غير متوقعة.
  • ستقوم الصيغ التي تستخدم TODAY() بالتحديث تلقائيًا كل مرة تقوم فيها بفتح أو إعادة حساب ورقة العمل الخاصة بك.
  • إذا كنت تفضل العمل بالأيام التجارية (باستثناء عطلات نهاية الأسبوع والعطلات الرسمية)، ففكّر في استخدام الدالة NETWORKDAYS لسيناريو مختلف.

مراجعة قائمة المواعيد النهائية بانتظام وإعادة حساب الأيام المتبقية يمكن أن يحسن بشكل كبير قدرتك على توقع والتعامل مع المواعيد النهائية القادمة. إذا كنت بحاجة إلى أتمتة أكثر تقدمًا أو تذكير بصري، انظر حل VBA أدناه.


كود VBA - أتمتة حساب الأيام المتبقية واختياريًا تسليط الضوء أو الإخطار بالمواعيد المتأخرة

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

1. لاستخدام هذه الطريقة، قم بتمكين علامة التبويب Developer إذا لم تكن مرئية بالفعل (File > Options > Customize Ribbon > اختر Developer). انتقل إلى Developer > Visual Basic لفتح محرر VBA. في نافذة VBA، انقر فوق Insert > Module وأدخل كود VBA أدناه:

Sub CalculateAndHighlightDaysLeft()
    Dim ws As Worksheet
    Dim lastRow As Long
    Dim i As Long
    Dim deadlineCol As String
    Dim resultCol As String
    Dim daysLeft As Long
    Dim cell As Range
    
    On Error Resume Next
    
    ' Configure columns as needed below:
    deadlineCol = "A" ' Column containing deadlines
    resultCol = "B" ' Column to place days left calculation
    
    Set ws = ActiveSheet
    lastRow = ws.Cells(ws.Rows.Count, deadlineCol).End(xlUp).Row
    
    For i = 2 To lastRow
        If IsDate(ws.Cells(i, deadlineCol).Value) Then
            daysLeft = ws.Cells(i, deadlineCol).Value - Date
            ws.Cells(i, resultCol).Value = daysLeft
            
            ' Highlight overdue deadlines
            If daysLeft < 0 Then
                ws.Cells(i, deadlineCol).Interior.Color = RGB(255, 185, 185) ' Light red fill
                
                ' Optionally show popup message for overdue (uncomment next line if desired)
                ' MsgBox "Row " & i & " is overdue! Deadline: " & ws.Cells(i, deadlineCol).Text, vbExclamation, "KutoolsforExcel"
            Else
                ws.Cells(i, deadlineCol).Interior.Pattern = xlNone
            End If
        Else
            ws.Cells(i, resultCol).Value = "Invalid date"
            ws.Cells(i, deadlineCol).Interior.Color = RGB(255, 235, 156) ' Yellow fill for invalid data
        End If
    Next i
End Sub

2. أغلق محرر VBA، عد إلى ورقة العمل الخاصة بك، واضغط Alt + F8. في مربع الحوار الذي يظهر، اختر CalculateAndHighlightDaysLeft وانقر فوق Run. سيقوم الكود بمعالجة كل تاريخ في العمود A (من الصف الثاني فما دون) وكتابة الأيام المتبقية في العمود B. سيتم تسليط الضوء تلقائيًا على المواعيد النهائية المتأخرة (حيث يكون التاريخ قبل اليوم) باللون الأحمر الفاتح. الخلايا ذات التواريخ غير الصالحة سيتم تعبئتها باللون الأصفر ووضع علامة "تاريخ غير صالح" في عمود النتائج.

نصيحة:
  • يمكنك تعديل deadlineCol و resultCol في الكود إذا كانت مواعيدك النهائية في عمود مختلف.

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

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