اكسل

احصل على الأيام والشهور والسنوات بين التواريخ

Get Days Months Years Between Dates

صيغة Excel: احصل على الأيام والشهور والسنوات بين التواريخصيغة عامة
= DATEDIF (start,end,'y') &' years,'& DATEDIF (start,end,'ym') &' months,' & DATEDIF (start,end,'md') &' days'
ملخص

لحساب وعرض الوقت بين التواريخ بالأيام والشهور والسنوات ، يمكنك استخدام صيغة تستند إلى دالة DATEDIF.



في المثال الموضح ، الصيغة في D6 هي:

 
= DATEDIF (B6,C6,'y') &' years,'& DATEDIF (B6,C6,'ym') &' months,' & DATEDIF (B6,C6,'md') &' days'

حيث تكون تواريخ البدء في العمود B وتواريخ الانتهاء في العمود C.





تفسير

تم تصميم وظيفة DATEDIF لحساب الفرق بين التواريخ بالسنوات والشهور والأيام. هناك العديد من الاختلافات المتاحة (على سبيل المثال الوقت بالأشهر والوقت بالأشهر مع تجاهل الأيام والسنوات وما إلى ذلك) ويتم تعيينها بواسطة وسيطة 'الوحدة' في الوظيفة. ارى هذه الصفحة على وظيفة DATEDIF للحصول على قائمة كاملة بالوحدات المتاحة.

تغيير الصيغة إلى قيمة في التفوق

في المثال الموضح ، نحسب السنوات والأشهر والأيام بشكل منفصل ، ثم 'نلصق' النتائج جنبًا إلى جنب مع التسلسل. للحصول على سنوات كاملة ، نستخدم:



 
 DATEDIF (B6,C6,'y')&' years,'

للحصول على شهور كاملة ، نستخدم:

 
 DATEDIF (B6,C6,'ym')&' months,'

ونحسب الأيام بـ:

 
 DATEDIF (B6,C6,'md')&' days'

ما تبقى من الصيغة هو ببساطة النص المطلوب المرتبط مع عامل التشغيل التسلسلي (&).

بدون قيم صفرية

لمنع إخراج الأيام أو الأشهر أو السنوات بقيم صفرية ، يمكنك التفاف كل دالة DATEDIF داخل IF ، كما هو موضح هنا (تمت إضافة فواصل الأسطر لسهولة القراءة):

 
=  IF ( DATEDIF (B6,C6,'y'),  DATEDIF (B6,C6,'y')&'yr ','')&  IF ( DATEDIF (B6,C6,'ym'),  DATEDIF (B6,C6,'ym')&' mo ','')&  IF ( DATEDIF (B6,C6,'md'),  DATEDIF (B6,C6,'md') &' dy','')

لمنع ظهور فواصل إضافية في النتيجة النهائية ، تم استبدال الفواصل بمسافات. استخدام صيغة DATEDIF الأصلية كـ 'الاختبار المنطقي' داخل IF يعمل لأن IF يعامل أي نتيجة غير صفرية على أنها صحيحة.

المؤلف ديف برونز


^