Menu
flag Ar iconالعربيةdown icon

دالة DATEDIF في الاكسل: السنوات والأشهر والأيام بين تاريخين

تعدّ =DATEDIF(A2,B2,"M") الأشهر الكاملة بين تاريخ البداية في A2 وتاريخ النهاية في B2. الوحدات Y وM وD وYM وMD وYD، ولماذا تغيب DATEDIF عن قائمة الدوال، والخطأ #NUM!.

كل ورقة في هذه الصفحة تفاعلية: غيّر رقمًا أو صيغة وسيُعاد الحساب.

تعدّ =DATEDIF(A2,B2,"M") الأشهر الكاملة بين تاريخ البداية في A2 وتاريخ النهاية في B2. والوسيط الثالث، الوحدة، يحدد ما يُعدّ: "Y" السنوات، و"M" الأشهر، و"D" الأيام، إضافة إلى ثلاث وحدات تتجاهل جزءًا من التاريخين.

كل وحدات DATEDIF على زوج واحد من التواريخ
E3
ABCDE
1StartEndUnitResult
22024-04-152026-09-10Y2
3M28
4D878
5YM4
6MD26
7YD148
انقر على خلية لترى صيغتها. غيّر رقمًا أو صيغة وستعيد الورقة الحساب.

من 2024-04-15 إلى 2026-09-10 سنتان كاملتان، و28 شهرًا كاملًا، و878 يومًا. غيّر تاريخ النهاية في B2 وراقب كل وحدة تتغير. ويمكن كتابة الوحدة في الصيغة ("M") أو قراءتها من خلية، كما هنا.

صيغة DATEDIF ووحداتها

=DATEDIF(start_date, end_date, unit)
الوحدةتعدّمن 2024-04-15 إلى 2026-09-10
"Y"السنوات الكاملة2
"M"الأشهر الكاملة28
"D"الأيام878
"YM"الأشهر بعد آخر سنة كاملة4
"MD"الأيام بعد آخر شهر كامل26
"YD"الأيام بعد آخر سنة كاملة148

"كاملة" تعني أن DATEDIF لا تقرّب إلى الأعلى أبدًا. من 31 يناير إلى 28 فبراير 0 أشهر، لأن 28 فبراير يأتي قبل علامة الشهر الواحد. والوحدة لا تفرّق بين الأحرف الكبيرة والصغيرة ("m" تعمل أيضًا)، لكن يجب أن تكون بين علامتي اقتباس أو في خلية.

لماذا لا توجد DATEDIF في قائمة الدوال

جاءت DATEDIF إلى الاكسل من Lotus 1-2-3، وتحتفظ بها Microsoft للتوافق فقط. فهي ليست في مربع حوار إدراج دالة، ولا يقترحها الإكمال التلقائي للصيغ، ولا يظهر تلميح بوسائطها. لكنها ما زالت تحسب في كل إصدارات الاكسل على Windows وMac، وفي Google Sheets. اكتب الاسم كاملًا والقوس الافتتاحي، =DATEDIF(، وأضف الوسائط بنفسك.

الأشهر بين تاريخين

الأشهر الكاملة هي ما تحتاج إليه معظم العقود والاشتراكات وتقارير مدة الخدمة. ولرقم عشري، تعيد YEARFRAC(A2,B2)*12 الأشهر مع الاحتفاظ بالكسر (يحتسب أساسها الافتراضي كل شهر 30 يومًا).

أشهر كل اشتراك
C2
ABCD
1StartEndFull monthsDecimal months
22025-03-102026-01-0599.8
32024-04-152026-09-102828.8
42026-01-312026-02-2800.9
52025-11-012026-05-0166.0
انقر على خلية لترى صيغتها. غيّر رقمًا أو صيغة وستعيد الورقة الحساب.

استمر الاشتراك الأول 9 أشهر كاملة: يقع 5 يناير قبل اليوم العاشر، لذا لا يُحتسب الشهر العاشر. ويُظهر الصف الثالث حالة 31 يناير، 0 أشهر.

السنوات والأشهر والأيام معًا

صُممت "Y" و"YM" و"MD" لتُستخدم معًا. تبدأ كل واحدة من حيث توقفت سابقتها، لذا تجيب الثلاث عن سؤال "كم المدة بالضبط": سنتان و4 أشهر و26 يومًا للتاريخين أعلاه. وتستخدم صفحة حساب العمر الوحدات الثلاث نفسها على تواريخ الميلاد.

مدة الخدمة
E2
ABCDEF
1HiredYearsMonthsDaysServiceAs of
22019-06-0373277y 3m 27d2026-09-30
32023-11-20210102y 10m 10d
انقر على خلية لترى صيغتها. غيّر رقمًا أو صيغة وستعيد الورقة الحساب.

خدم الموظف الأول 7 سنوات و3 أشهر و27 يومًا في 2026-09-30.

لماذا تعيد DATEDIF الخطأ #NUM!

ترفض DATEDIF العد إلى الوراء. عندما يكون تاريخ البداية بعد تاريخ النهاية، تكون النتيجة #NUM!. وإذا كان الترتيب قد يختلف، فأعطِ DATEDIF التاريخ الأقدم بالدالة MIN والأحدث بالدالة MAX.

تاريخ البداية بعد تاريخ النهاية
C2
ABCD
1StartEndDATEDIFWith MIN and MAX
22026-03-102026-01-05#NUM!64
#NUM! أحد الأرقام خارج النطاق الذي تقبله هذه الدالة.

تعرض C2 الخطأ #NUM!؛ وتعيد D2 القيمة 64. وللأيام وحدها، تعطي =ABS(B2-A2) القيمة نفسها 64 دون DATEDIF. وتعيد DATEDIF أيضًا #NUM! لوحدة غير معروفة مثل "W"، و#VALUE! عندما يكون التاريخ نصًا لا يستطيع الاكسل قراءته تاريخًا.

الوحدة MD قد تكون خاطئة

تنصح وثائق Microsoft نفسها بعدم استخدام "MD": عندما لا يكون يوم البداية موجودًا في الشهر السابق لتاريخ النهاية، قد تعيد رقمًا سالبًا.

MD من 31 يناير
C2
ABCD
1StartEndMDD
22026-01-312026-03-01-229
انقر على خلية لترى صيغتها. غيّر رقمًا أو صيغة وستعيد الورقة الحساب.

من 31 يناير إلى 1 مارس تكون نتيجة "MD" هي -2: تعدّ DATEDIF من "31 فبراير"، الذي يتحول إلى 3 مارس، أي بعد تاريخ النهاية بيومين. أما عدد الأيام، 29، فصحيح. عندما يمكن أن تقع تواريخ البداية بين اليوم 29 واليوم 31، فاعرض المدة بالأيام، أو تحقق من رقم MD يدويًا.

تمرين: عدّ الأشهر

دورك
C2
ABC
1StartEndMonths
22025-03-102026-01-05
انقر على خلية لترى صيغتها. غيّر رقمًا أو صيغة وستعيد الورقة الحساب.

دورك: في C2، عدّ الأشهر الكاملة بين تاريخ البداية في A2 وتاريخ النهاية في B2.

دورك: بأي ترتيب
C2
ABC
1Date 1Date 2Days
22026-04-182026-02-01
انقر على خلية لترى صيغتها. غيّر رقمًا أو صيغة وستعيد الورقة الحساب.

دورك: في C2، عدّ الأيام بين التاريخين، أيًا كان الذي يأتي أولًا.

الأسئلة الشائعة

ماذا تفعل DATEDIF في الاكسل؟

تعدّ السنوات أو الأشهر أو الأيام الكاملة بين تاريخين: =DATEDIF(A2,B2,"Y") للسنوات، و"M" للأشهر، و"D" للأيام. ويجب أن يأتي تاريخ البداية أولًا.

لماذا لا أجد DATEDIF في الاكسل؟

أُبقيت DATEDIF للتوافق مع Lotus 1-2-3، لذا يستبعدها الاكسل من مربع حوار إدراج دالة ومن الإكمال التلقائي للصيغ. لكنها ما زالت تعمل في كل الإصدارات: اكتب =DATEDIF( كاملة وأضف الوسائط بنفسك.

لماذا تعيد DATEDIF الخطأ #NUM!؟

لأن تاريخ البداية بعد تاريخ النهاية. بدّل الوسيطين، أو استخدم =DATEDIF(MIN(A2,B2),MAX(A2,B2),"D") عندما لا تعرف أي التاريخين يأتي أولًا.

ما الفرق بين YM وMD وYD في DATEDIF؟

تتجاهل جزءًا من التاريخين: تعطي "YM" الأشهر المتبقية بعد السنوات الكاملة، و"MD" الأيام المتبقية بعد الأشهر الكاملة، و"YD" الأيام المتبقية بعد السنوات الكاملة. ومعًا تعطي "Y" و"YM" و"MD" العمر بالسنوات والأشهر والأيام.

هل تعمل DATEDIF في Google Sheets؟

نعم، بالوسائط والوحدات نفسها. كما يدرجها Google Sheets في مساعدة الدوال، على عكس الاكسل.

رسم توضيحي للغات البرمجة في Coddy

تعلّم البرمجة مع Coddy

ابدأ الآن