كيفية حساب العمر في إكسل من تاريخ الميلاد بدقة
تعلم كيفية حساب العمر في إكسل من تاريخ الميلاد باستخدام دالتي DATEDIF وYEARFRAC بالسنوات والشهور، وتجنب خطأ القسمة على 365 الشائع.
بقلم Ayoub Farid · · 2 دقائق قراءة
لا توجد دالة مخصصة باسم AGE في إكسل، ولكن يمكنك إنجاز المهمة باستخدام معادلة بسيطة ومباشرة. سنفترض أن تواريخ الميلاد مدخلة في العمود B داخل جدول بيانات الخاص بك.
حساب العمر بالسنوات
=DATEDIF(B2,TODAY(),"y")
تُرجع هذه الصيغة عدد السنوات المكتملة بدقة؛ فإذا وُلد شخص في 20 مارس 2000، فسيظل عمره 25 عاماً حتى تاريخ 20 مارس 2026 ليصبح 26 عاماً. للمزيد من التفاصيل، راجع دليلنا حول دالة DATEDIF.
خيار بديل: استخدام YEARFRAC
=INT(YEARFRAC(B2,TODAY(),1))
تقوم دالة YEARFRAC باحتساب عدد السنوات ككسر عشري، بينما تتولى دالة INT حذف الأرقام العشرية للإبقاء على عدد السنوات الكاملة فقط.
لماذا لا نفضل القسمة على 365؟
استخدام صيغة مثل =(TODAY()-B2)/365 يتجاهل أثر السنوات الكبيسة، مما قد يسبب خطأً بفارق يوم كامل في الأيام القريبة من تاريخ الميلاد، وهو خطأ شائع قد تواجهه في أي اختبار إكسل للتوظيف. لذا يفضل دائماً الاعتماد على دوال إكسل المخصصة مثل DATEDIF أو YEARFRAC.
حساب العمر بالسنوات والشهور
=DATEDIF(B2,TODAY(),"y")&" years "&DATEDIF(B2,TODAY(),"ym")&" months"
حساب العمر في تاريخ محدد
إذا أردت معرفة العمر عند بداية العام الدراسي مثلاً (مع وضع التاريخ المستهدف في الخلية F1):
=DATEDIF(B2,$F$1,"y")
احرص على تثبيت الخلية F1 باستخدام علامة $ لتطبيق المرجع المطلق قبل سحب المعادلة للأسفل على باقي نطاق البيانات. اقرأ المزيد عن المراجع المطلقة في إكسل.
تصنيف الفئات العمرية
=IFS(C2<18,"Under 18",C2<35,"18–34",C2<55,"35–54",TRUE,"55+")
بعد ذلك، يمكنك احتساب أعداد كل فئة عمرية بسهولة عبر استخدام دالة COUNTIF.
مشكلات شائعة وكيفية حلها
- خطأ !NUM#: يحدث عندما يكون تاريخ الميلاد بعد التاريخ الحالي، أو بسبب خطأ إملائي في كتابة السنة (مثل إدخال 2099).
- خطأ !VALUE#: يظهر لأن "التاريخ" مخزن كنص وليس كقيمة رقمية. يمكنك التأكد من طبيعة الخلية باستخدام الصيغة
=ISNUMBER(B2). - النتيجة تظهر على هيئة تاريخ: حل المشكلة بسيط؛ قم بتغيير تنسيق خلية النتيجة من تاريخ إلى "رقم" (Number) أو "عام" (General).
الأسئلة الشائعة
ما هي الصيغة الأساسية لحساب العمر في إكسل؟
أفضل صيغة ضمن معادلات إكسل هي: =DATEDIF(birthdate,TODAY(),"y").
كيف أحسب العمر بالسنوات والشهور معاً؟
يمكنك الجمع بين دالتي DATEDIF في معادلة واحدة، الأولى باستخدام المعامل "y" لحساب السنوات، والثانية باستخدام المعامل "ym" لحساب الشهور المتبقية.
لماذا يظهر ناتج معادلة العمر على شكل تاريخ بدلاً من رقم؟
يعود ذلك لتنسيق الخلية المسبق كـ "تاريخ". قم بتغيير تنسيق الخلية إلى "رقم" (Number) أو "عام" (General).
هل تعمل هذه المعادلات في تطبيق Google Sheets؟
نعم، تعمل دالتا DATEDIF وYEARFRAC بنفس الكفاءة تماماً في Google Sheets.