كيفية حساب الأيام المتبقية حتى الموعد النهائي في Excel؟
في العمل اليومي وإدارة المشاريع، تتبع عدد الأيام المتبقية قبل الموعد النهائي أمر بالغ الأهمية. على سبيل المثال، قد يكون لديك قائمة بتواريخ المواعيد النهائية وتحتاج إلى مراقبة الأيام المتبقية للمهام أو الواجبات أو انتهاء العقود أو معالم المشروع. يساعد حساب الأيام المتبقية بشكل فعال في ضمان عدم تفويت المواعيد الهامة ويدعم التخطيط الأفضل لإدارة الوقت. يشرح هذا المقال طرقًا عملية لحساب الأيام المتبقية حتى الموعد النهائي في Excel، ويقدم إرشادات خطوة بخطوة وحلولًا لتلبية الاحتياجات المختلفة.
- حساب الأيام المتبقية حتى الموعد النهائي باستخدام الصيغ
- كود VBA - أتمتة حساب الأيام المتبقية واختياريًا تسليط الضوء أو الإخطار بالمواعيد المتأخرة
حساب الأيام المتبقية حتى الموعد النهائي باستخدام الصيغ
إذا كنت تريد تحديد عدد الأيام المتبقية بسرعة قبل كل موعد نهائي، توفر Excel حلول صيغ بسيطة. هذه الحلول مناسبة للقوائم الثابتة أو عند الحاجة إلى إعادة الحساب المنتظم بناءً على التاريخ الحالي.
1. في خلية فارغة حيث تريد عرض النتيجة (على سبيل المثال، في العمود B بجانب تاريخ الموعد النهائي في العمود A)، أدخل الصيغة التالية:
=A2-TODAY()
تطرح هذه الصيغة تاريخ اليوم (كما هو محدد بواسطة TODAY()
) من تاريخ الموعد النهائي في الخلية A2. النتيجة هي عدد الأيام المتبقية.
بعد إدخال الصيغة، اسحب مقبض التعبئة لأسفل لتطبيق هذه العملية الحسابية على صفوف إضافية تحتوي على تواريخ المواعيد النهائية، كما هو موضح أدناه:
2. لضمان أن تكون نتائج الحساب الخاصة بك معروضة كأرقام، قم بتنسيق الخلايا الناتجة كـ عام. انقر فوق علامة التبويب الصفحة الرئيسية > حدد قائمة تنسيق الأرقام المنسدلة > اختر عام، كما هو موضح أدناه:
ملاحظات ونصائح عملية:
- إذا كان تاريخ الموعد النهائي قد انقضى (قبل اليوم)، ستكون النتيجة رقمًا سالبًا، مما يشير إلى عدد الأيام المتأخرة.
- إذا كنت ترغب في تجنب عرض القيم السالبة (على سبيل المثال، عرض 0 للمهام المتأخرة)، استخدم الصيغة البديلة التالية:
=MAX(0,A2-TODAY())
تقارن هذه الصيغة الأيام المتبقية المحسبة بـ 0 وتعرض الأكبر بينهما - مما يستبدل الأرقام السالبة بـ 0.
هذا النهج مفيد بشكل خاص عند تقديم المواعيد النهائية حيث تكون الأيام المتبقية فقط (غير السالبة) ذات أهمية، مثل المهام المفتوحة أو انتهاء العقود القادمة.
- دائما تحقق من أن تواريخ المواعيد النهائية الخاصة بك هي قيم تاريخ صالحة في 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 في الكود إذا كانت مواعيدك النهائية في عمود مختلف.
أفضل أدوات الإنتاجية لمكتب العمل
عزز مهاراتك في 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 يومًا — بدون تسجيل، بدون بطاقة ائتمان
- قيمة رائعة — وفر مقارنة بشراء الإضافات بشكل منفرد