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

حساب العمر في الاكسل من تاريخ الميلاد

تعيد =DATEDIF(B2,TODAY(),"Y") العمر بالسنوات الكاملة لشخص وُلد في التاريخ الموجود في B2. احسب العمر في تاريخ محدد، وبالسنوات والأشهر والأيام، ودون DATEDIF.

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

تعيد =DATEDIF(B2,TODAY(),"Y") العمر بالسنوات الكاملة لشخص وُلد في التاريخ الموجود في B2. تعدّ DATEDIF السنوات الكاملة بين تاريخين، وتوفر TODAY() التاريخ الثاني، لذا يزيد العمر سنة في كل عيد ميلاد.

العمر من تاريخ الميلاد
C2
ABC
1NameBornAge
2Ana1990-05-1436
3Ben1985-11-3040
4Chloe2001-02-2825
5Dan1978-10-1047
6Eva2010-07-0416
انقر على خلية لترى صيغتها. غيّر رقمًا أو صيغة وستعيد الورقة الحساب.

تُحسب الأعمار في العمود C من تاريخ اليوم، لذا تتغير مع مرور السنة. غيّر تاريخ ميلاد في العمود B فيتبعه العمر المجاور له. للصيغة ثلاثة وسائط: تاريخ البداية (تاريخ الميلاد)، وتاريخ النهاية (اليوم)، والوحدة، "Y" للسنوات الكاملة.

العمر في تاريخ محدد

للحصول على العمر في يوم ثابت، مثل بداية العام الدراسي أو تاريخ عقد، ضع ذلك اليوم في خلية واستخدم الخلية بدلًا من TODAY(). ويُبقي الرمز $ في $F$2 المرجع على F2 عند سحب الصيغة إلى الأسفل.

العمر في تاريخ معين
C2
ABCDEF
1NameBornAgeAs of
2Ana1990-05-14362026-10-01
3Ben1985-11-3040
4Chloe2001-02-2825
5Dan1978-10-1047
6Eva2010-07-0416
انقر على خلية لترى صيغتها. غيّر رقمًا أو صيغة وستعيد الورقة الحساب.

في 2026-10-01 عمر Ana هو 36 وعمر Dan هو 47: لم يحن بعد عيد ميلاده في 10 أكتوبر. غيّر F2 إلى 2026-10-10 فيبلغ Dan الثامنة والأربعين. وهذه الصيغة تعطي أيضًا النتيجة نفسها في كل مرة يُفتح فيها الملف، وهذا مهم عندما يدخل العمر في تقرير. راجع صفحة DATEDIF للوحدات الأخرى.

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

في DATEDIF وحدات للأجزاء المتبقية بعد السنوات الكاملة: تعدّ "YM" الأشهر بعد آخر سنة كاملة، وتعدّ "MD" الأيام بعد آخر شهر كامل. اربط الثلاثة بالرمز & لكتابة العمر نصًا.

السنوات والأشهر والأيام
E2
ABCDEF
1BornYearsMonthsDaysAgeAs of
21990-05-143641736 years, 4 months, 17 days2026-10-01
31978-10-1047112147 years, 11 months, 21 days
انقر على خلية لترى صيغتها. غيّر رقمًا أو صيغة وستعيد الورقة الحساب.

من 1990-05-14 إلى 2026-10-01 هي 36 سنة و4 أشهر و17 يومًا. وتنصح Microsoft بعدم استخدام الوحدة "MD" لأنها قد تعيد عددًا سالبًا أو خاطئًا من الأيام في بعض الحالات، مثل تاريخ ميلاد في اليوم 31. تحقق من رقم الأيام عندما يقع تاريخ الميلاد بين اليوم 29 واليوم 31.

حساب العمر دون DATEDIF

تعمل DATEDIF في كل إصدارات الاكسل لكنها غائبة عن قائمة الدوال وعن الإكمال التلقائي للصيغ، لذا يفضّل بعض الناس YEARFRAC. تعيد YEARFRAC(start,end,1) السنوات بين تاريخين رقمًا عشريًا، مع احتساب الطول الحقيقي لكل سنة (الأساس 1). وتحذف INT الكسر.

DATEDIF وYEARFRAC جنبًا إلى جنب
D2
ABCD
1BornAs ofDATEDIFYEARFRAC
21990-05-142026-10-013636
31978-10-102026-10-014747
42010-07-042026-10-011616
انقر على خلية لترى صيغتها. غيّر رقمًا أو صيغة وستعيد الورقة الحساب.

يتفق العمودان: 36 و47 و16. ودون INT، تعيد YEARFRAC للصف الأخير نحو 16.24، وهذا مفيد عندما تحتاج إلى العمر رقمًا عشريًا، كما في ورقة إحصاءات.

لماذا لا تقسم على 365

من الاختصارات الشائعة =INT((F2-B2)/365): عدد الأيام التي عاشها الشخص مقسومًا على أيام السنة. لكن السنوات الكبيسة تضيف يومًا كل أربع سنوات، لذا بعد بضعة عقود تصل الصيغة إلى العمر التالي قبل عيد الميلاد بأيام: قبل 12 يومًا في عيد الميلاد الثامن والأربعين.

القسمة على 365 تخطئ قرب أعياد الميلاد
D2
ABCDE
1BornAs ofDays livedDivide by 365DATEDIF
21990-05-142026-10-01132893636
31978-10-102026-10-01175234847
انقر على خلية لترى صيغتها. غيّر رقمًا أو صيغة وستعيد الورقة الحساب.

للشخص المولود في 1978-10-10، تقول القسمة على 365 إن عمره 48 في 2026-10-01، قبل تسعة أيام من عيد ميلاده الثامن والأربعين. وتقول DATEDIF إنه 47. القسمة على 365.25 تصلح معظم الصفوف لكنها تخطئ في بعض التواريخ، لذا استخدم DATEDIF أو YEARFRAC.

تمرين: العمر في أول يوم دراسي

دورك
C2
ABCDE
1NameBornAgeAs of
2Ana2012-04-172026-09-01
انقر على خلية لترى صيغتها. غيّر رقمًا أو صيغة وستعيد الورقة الحساب.

دورك: في C2، احسب عمر Ana بالسنوات الكاملة في التاريخ الموجود في E2.

تغيّر الفحوص المخفية التاريخ في E2، لذا يجب أن تقرأه الصيغة.

لماذا يظهر العمر تاريخًا

إذا كتبت صيغة العمر في خلية تحتوي أصلًا على تاريخ، أو في عمود منسق كتواريخ، يُبقي الاكسل تنسيق التاريخ ويعرض 36 على شكل 1900-02-05 (اليوم السادس والثلاثون في نظام التاريخ في الاكسل؛ ومع الإعدادات الأمريكية يظهر 2/5/1900). الرقم الموجود تحته صحيح. حدد الخلايا واختر الصفحة الرئيسية > تنسيق الأرقام > عام (أو اضغط Ctrl+Shift+~، أو Control+Shift+~ على Mac) فيظهر العمر.

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

ما صيغة حساب العمر في الاكسل؟

=DATEDIF(B2,TODAY(),"Y")، مع تاريخ الميلاد في B2. تعدّ السنوات الكاملة من تاريخ الميلاد حتى اليوم، لذا يزيد العمر في يوم الميلاد نفسه، لا قبله.

كيف أحسب العمر في تاريخ محدد في الاكسل؟

ضع التاريخ في خلية واستخدمها بدلًا من TODAY(): تعطي =DATEDIF(B2,$F$2,"Y") العمر في التاريخ الموجود في F2. وتُبقي علامات $ الخلية F2 ثابتة عند سحب الصيغة إلى الأسفل.

كيف أحسب العمر في الاكسل دون DATEDIF؟

استخدم =INT(YEARFRAC(B2,TODAY(),1)). تعيد YEARFRAC السنوات بين التاريخين رقمًا عشريًا، وتُبقي INT السنوات الكاملة.

لماذا تعرض صيغة العمر تاريخًا مثل 1900-01-30؟

لأن الخلية منسقة كتاريخ، فيُعرض العمر 30 على أنه اليوم الثلاثون في تقويم الاكسل. حدد الخلية واضبط الصفحة الرئيسية > تنسيق الأرقام على عام.

لماذا القسمة على 365 خاطئة لحساب العمر؟

لأن السنوات الكبيسة تضيف يومًا كل أربع سنوات، فتحتسب =INT((TODAY()-B2)/365) عيد الميلاد قبل موعده ببضعة أيام: الشخص المولود في 1978-10-10 عمره 48 حسب تلك الصيغة في 2026-10-01، قبل تسعة أيام من بلوغه 48. أما DATEDIF فتعدّ السنوات التقويمية ولا تقع في هذا الخطأ.

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

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

ابدأ الآن