الدالة DATEDIF

ينطبق على
Excel لـ Microsoft 365 Excel لـ Microsoft 365 لـ Mac Excel 2024 Excel 2024 Mac Excel 2021 Excel 2021 for Mac Excel 2019 Excel 2016 Windows SharePoint Services 3.0

تحسب هذه الدالة عدد الأيام، أو الأشهر أو السنوات بين تاريخين.

تحذير

  • يوفر Excel الدالة DATEDIF لدعم المصنفات الأقدم من Lotus 1-2-3. قد تقوم الدالة DATEDIF بحساب نتائج غير صحيحة ضمن سيناريوهات معينة. الرجاء مراجعة مقطع المشاكل المعروفة في هذه المقالة للحصول على مزيد من التفاصيل.
  • نصيحة: إذا أردت معرفة عدد الأيام بين تاريخين، فما عليك سوى طرح التاريخ الأحدث من التاريخ السابق. يعمل هذا لأن التواريخ مخزنة كأرقام في Excel.

بناء الجملة

DATEDIF(start_date,end_date,unit)‎

الوسيطة الوصف
تاريخ_البدء
مطلوبة
تاريخ يمثل أول تاريخ، أو تاريخ البدء في فترة معينة. يمكن إدخال التواريخ كسلاسل نصية داخل علامات اقتباس (مثلاً، "30/1/2001")، أو كأرقام تسلسلية (مثلاً، 36921 الذي يمثل 30 يناير 2001، إذا كنت تستخدم نظام تاريخ 1900)، أو كنتائج صيغ أو دالات أخرى (مثلاً، DATEVALUE("2001/1/30")‎).
end_date
مطلوبة
تاريخ يمثّل آخر تاريخ، أو تاريخ الانتهاء، في الفترة الزمنية.
Unit نوع المعلومات التي تريد إرجاعها، حيث:وحدة****إرجاع "Y"عدد السنوات الكاملة في الفترة الزمنية." M"عدد الأشهر الكاملة في الفترة الزمنية." D"عدد الأيام في الفترة الزمنية." MD"الفرق بين الأيام في start_date و end_date. يتم تجاهل الأشهر والسنوات في التواريخ.
هام: لا ننصح باستخدام الوسيطة "MD"، لأن هناك قيود معروفة عليه. راجع قسم المشاكل المعروفة أدناه." YM"الفرق بين الأشهر في start_date و end_date. يتم تجاهل الأيام والسنوات في التواريخ"YD"الفرق بين أيام start_date و end_date. يتم تجاهل السنوات في التواريخ.

الملاحظات

  • يتم تخزين التواريخ كأرقام تسلسلية متتابعة حتى يمكن استخدامها في العمليات الحسابية. افتراضياً، 1 يناير 1900 هو الرقم التسلسلي 1، و1 يناير 2008 هو الرقم التسلسلي 39448 لأنه يزيد 39,447 يوماً عن 1 يناير 1900.
  • تُعتبر الدالة DATEDIF مفيدة في الصيغ التي تحتاج فيها إلى حساب العمر.
  • إذا كانت start_date أكبر من end_date، فستكون النتيجة #NUM!.

الأمثلة

Start_date End_date الصيغة الوصف (النتيجة)
2001/1/1 2003/1/1 ‎=DATEDIF(Start_date,End_date,"Y")‎ سنتان كاملتان في الفترة الزمنية (2)
2001/6/1 2002/8/15 ‎=DATEDIF(Start_date,End_date,"D")‎ 440 يوماً بين 1 يونيو 2001 و15 أغسطس 2002 (440)
2001/6/1 2002/8/15 ‎=DATEDIF(Start_date,End_date,"YD")‎ 75 يوماً بين 1 يونيو و15 أغسطس متجاهلاً السنوات في التواريخ (75)

المشاكل المعروفة

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

=DATEDIF(D17,E17,md) والنتيجة: 5 تطرح هذه الصيغة اليوم الأول لنهاية الشهر (2016/5/1) من تاريخ الانتهاء الأصلي الموجود في الخلية E17 (2016/5/6). وإليك كيفية إجراء ذلك: أولاً، تقوم الدالة DATE بإنشاء التاريخ، 2016/5/1. تقوم بإنشائه باستخدام السنة الموجودة في الخلية E17، والشهر في الخلية E17. يمثل العدد 1 اليوم الأول من هذا الشهر. نتيجة الدالة DATE هي 2016/5/1. بعد ذلك، نطرح هذه النتيجة من تاريخ الانتهاء الأصلي في الخلية E17، وهو 2016/5/6. 2016/5/6 ناقص 2016/5/1 يساوي 5 أيام.

هل تحتاج إلى مزيد من المساعدة؟

يمكنك دائما الاستفسار من أحد الخبراء في مجتمع Excel التقني أو الحصول على الدعم في المجتمعات.