العودة إلى المدونة
8 min read

كيفية حساب العمر في برنامج Excel (DATEDIF وYEARFRAC) + قالب مجاني

صيغ Excel خطوة بخطوة لحساب العمر من تاريخ الميلاد باستخدام DATEDIF وYEARFRAC وTODAY(). يتضمن أمثلة عملية ونصائح حول استكشاف الأخطاء وإصلاحها وآلة حاسبة مجانية للعمر عبر الإنترنت.

كيفية حساب العمر في برنامج Excel (DATEDIF وYEARFRAC) + قالب مجاني

يعد حساب العمر في Excel أحد أكثر مهام جداول البيانات شيوعًا - سواء كنت تدير سجلات الموظفين، أو تتبع أعياد ميلاد العملاء، أو تنشئ قاعدة بيانات مدرسية. يغطي هذا الدليل الشامل كل الطرق التي ستحتاج إليها، بدءًا من حسابات السنة البسيطة وحتى التوزيع الدقيق للعمر بالسنوات والأشهر والأيام.

جدول المحتويات

  1. قبل البدء: تنسيق التاريخ الأساسيات

  2. الطريقة 1: DATEDIF – العمر بالسنوات الكاملة

  3. الطريقة 2: العمر بالسنوات والأشهر والسنوات الأيام

  4. الطريقة الثالثة: حساب العمر اعتبارًا من تاريخ محدد

  5. الطريقة 4: YEARFRAC – العمر مع الكسور العشرية

  6. الطريقة الخامسة: حساب العمر للصفوف المتعددة

  7. المكافأة: عدد الأيام حتى التالي تاريخ الميلاد

  8. جدول مقارنة الطرق

  9. المشكلات الشائعة و الحلول

  10. Excel مقابل جداول بيانات Google

  11. متصل البديل

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

قبل البدء: تنسيق التاريخ الأساسيات

قبل الغوص في الصيغ، تأكد من تنسيق التواريخ بشكل صحيح. يميز برنامج Excel بين التواريخ الفعلية والنص الذي يشبه التواريخ - وهذا الاختلاف مهم.

كيفية التحقق مما إذا كانت الخلية تحتوي على تاريخ حقيقي:

  1. انقر على الخلية التي بها تاريخك

  2. انظر إلى شريط الصيغة-إذا كان يُظهر رقمًا (مثل 45678)، فهو تاريخ حقيقي

  3. إذا كان يُظهر نصًا (مثل "01/15/1990")، يعامله Excel كسلسلة

تحويل النص إلى تواريخ:

إذا كان التاريخ مخزنًا كنص، فقم بالتحويل أولاً:

=DATEVALUE(A2)

ثم قم بتنسيق الخلية الناتجة كتاريخ (انقر بزر الماوس الأيمن → تنسيق الخلايا → التاريخ).

هام: تفسر اللغات المختلفة تنسيقات التاريخ بشكل مختلف. "01/02/2000" يمكن أن يعني 2 يناير (الولايات المتحدة) أو 1 فبراير (أوروبا). تأكد دائمًا من تحليل التواريخ بشكل صحيح.

الطريقة الأولى: DATEDIF – العمر بالسنوات الكاملة

وظيفة DATEDIF هي الطريقة الأكثر مباشرة لحساب العمر في Excel. تُرجع عدد السنوات الكاملة بين تاريخين.

الصيغة:

=DATEDIF(A2, TODAY(), "Y")

حيث:

  • A2 = خلية تحتوي على تاريخ الميلاد

  • TODAY() = التاريخ الحالي (التحديثات) تلقائيًا)

  • "Y" = اكتملت الإرجاع سنوات

مثال:

[[[TA G_130]]]

ب[[[TAG_143]] ]

التاريخ من الميلاد

العمر

[[[TAG__ 156]]]

15-03-1990

=DATEDIF(A2, اليوم ()، "Y")

[[[TAG_16 8]]]1985-07-22

=DATEDIF(A3, اليوم ()، "Y")

[[[TAG_17 8]]]2000-12-01

=DATEDIF(A4, TODAY(), "Y")

النتيجة (اعتبارًا من يناير) 2026):

[[[TA G_195]]][ [[TAG_227]]][[[TAG_2 37]]]

التاريخ من الميلاد

العمر

[ [[TAG_206]]]

15-03-1990

35

[[[TAG_ 216]]]

22-07-1985[[[TAG_ 221]]]

40

01-12-2000

[ [[TAG_232]]]

25

ملاحظة: DATEDIF هي وظيفة "مخفية" في Excel، ولن تظهر في الإكمال التلقائي، ولكنها تعمل بشكل مثالي. ما عليك سوى كتابته يدويًا.

الطريقة الثانية: العمر بالسنوات والأشهر والأيام

بالنسبة للمواقف التي تتطلب عمرًا محددًا (السجلات الطبية، المستندات القانونية، أنظمة الموارد البشرية)، ستحتاج إلى النص الكامل تفصيل.

الصيغ الفردية:

السنوات: =DATEDIF(A2, TODAY(), "Y")
الأشهر: =DATEDIF(A2, TODAY(), "YM")
الأيام: =DATEDIF(A2, TODAY(), "MD")

المعلمة الثانية الأكواد:

  • "Y" = إجمالي مكتمل السنوات

  • "YM" = الأشهر المتبقية بعد الانتهاء السنوات

  • "MD" = الأيام المتبقية بعد الاكتمال أشهر

صيغة الكل في واحد (مفردة) الخلية):

=DATEDIF(A2,TODAY(),"Y") & " سنوات, " & DATEDIF(A2,TODAY(),"YM") & " أشهر, " & DATEDIF(A2,TODAY(),,"MD") & " أيام"

مثال للنتيجة: "35 سنة، 10 أشهر، 12 يومًا"

محترف التنسيق بالتسميات:

للحصول على نتائج أفضل، يمكنك إضافة تنسيق شرطي:

=DATEDIF(A2,TODAY(),"Y") & IF(DATEDIF(A2,TODAY(),"Y")=1"، سنة، "،" سنوات، ") & DATEDIF(A2,TODAY(),"YM") & IF(DATEDIF(A2,TODAY(),"YM")=1"، شهر، ""، أشهر، ") & DATEDIF(A2,TODAY(),"MD") & IF(DATEDIF(A2,TODAY(),"YM")=1"،" day"، أيام")

يتعامل هذا مع المفرد/الجمع بشكل صحيح (على سبيل المثال، "سنة واحدة" مقابل "سنتان").

الطريقة الثالثة: حساب العمر اعتبارًا من تاريخ محدد

في بعض الأحيان تحتاج إلى حساب العمر في تاريخ محدد بدلاً من اليوم - على سبيل المثال، العمر في وقت الحدث، أو العمر عند التسجيل، أو العمر في تاريخ تاريخي التاريخ.

الصيغة:

=DATEDIF(A2, B2, "Y")

حيث:

  • A2 = تاريخ الميلاد

  • B2 = التاريخ المرجعي (تاريخ الحدث، تاريخ التسجيل، إلخ.)

مثال: عمر الموظف عند التعيين التاريخ

[[[TAG_3 40]]][[[ TAG_369]]]

2020-03-01

[[[T AG_387]]]

2021-06-15

الاسم

التاريخ تاريخ الميلاد

تاريخ التعيين

العمر عند عيّن

جون سميث

20-05-1988

=DATEDIF(B2, C2، "Y")

جين دو

15-11-1992

=DATEDIF(B3, C3، "Y")

التحليل الكامل اعتبارًا من محدد التاريخ:

 =DATEDIF(A2,B2,"Y") & " سنوات، " & DATEDIF(A2,B2,"YM") & " أشهر"، " & DATEDIF(A2,B2,"MD") & " أيام"

الطريقة 4: YEARFRAC – العمر مع الكسور العشرية

عندما تحتاج إلى العمر كرقم عشري (شائع في الحسابات المالية، أو العمل الاكتواري، أو التطبيقات العلمية)، استخدم YEARFRAC.

الصيغة:

=YEARFRAC(A2, TODAY(), 1)

مثال الإخراج: 35.87 (يعني 35 سنة وحوالي 10.5) أشهر)

خيارات الأساس (الثالثة المعلمة):

[[ [TAG_434]]]

القيمة

[[[TAG_48]8]]][[[TAG_494]] ]

Actual/365

[[[ TAG_439]]]الطريقة

الأفضل لـ

0

الولايات المتحدة 30/360

الحسابات المالية (الولايات المتحدة)

1

[[[TAG _465]]]

فعلي/فعلي

الأكثر دقيقة بالنسبة للعمر العمليات الحسابية

2

[[ [TAG_479]]]

Actual/360

الخدمات المصرفية العمليات الحسابية

3

يتم التجاهل قفزة سنوات

4

الأوروبية 30/360

الحسابات المالية (الاتحاد الأوروبي)

التوصية: الاستخدام 1 (فعلي/فعلي) لحسابات العمر-وهو الأكثر دقة.

للحصول على العدد الصحيح فقط الجزء:

=INT(YEARFRAC(A2, TODAY(), 1))

لتقريب العمر إلى واحد العلامة العشرية:

=ROUND(YEARFRAC(A2, TODAY(), 1), 1)

الطريقة الخامسة: حساب العمر للمتعددين الصفوف

عند العمل مع قوائم الأشخاص (الموظفين والطلاب والعملاء)، تحتاج إلى طرق فعالة لحساب أعمار الجميع في وقت واحد.

الخطوة 1: إعداد البيانات

[[[TAG _554]]][[[TAG_569] ]]][[[TAG _593]]]

[[[TAG _607]]]

[[[TAG_6 21]]]

أ

[[ [TAG_562]]]ب

ج

الاسم

التاريخ من الميلاد

العمر

أليس جونسون

22-03-1985

بوب ويليامز

14-07-1990

كارول ديفيس

30-11-1978

ديفيد بني

1995-02-08

[ [[TAG_636]]]

الخطوة 2: أدخل الصيغة في الصف الأول

في الخلية C2، أدخل:

=DATEDIF(B2, TODAY(), "Y")

الخطوة 3: انسخ

  • تحديد C2

  • انقر نقرًا مزدوجًا فوق المربع الصغير الموجود في الزاوية اليمنى السفلية (مقبض التعبئة)

  • ينسخ Excel الصيغة تلقائيًا إلى الكل صفوف تحتوي على بيانات

استخدام الجداول للتشغيل التلقائي التوسيع:

  1. حدد نطاق البيانات الخاص بك (A1:C5)

  2. اضغط على Ctrl+T لإنشاء جدول

  3. أدخل الصيغة في البيانات الأولىعدد عمود "العمر"

  4. يطبقه Excel تلقائيًا على جميع الصفوف، والصفوف الجديدة التي تضيفها لاحقًا

صيغة الفئات العمرية:

لتجميع الأعمار في فئات (مفيد للخصائص الديموغرافية) التحليل):

=IF(DATEDIF(B2,TODAY(),"Y")<18,"Minor",IF (DATEDIF(B2,TODAY(),"Y")<65,"Adult","Senior"))

المكافأة الإضافية: الأيام المتبقية حتى عيد الميلاد التالي

حالة استخدام شائعة: تذكيرات عيد الميلاد أو "الأيام المتبقية حتى عيد الميلاد" العمليات الحسابية.

الصيغة:

=DATE(YEAR(TODAY()) + (DATE(YEAR(TODAY()),MONTH(A2),DAY(A2))

كيف ذلك يعمل:

  1. ينشئ عيد ميلاد هذا العام من تاريخ الميلاد

  2. إذا كان عيد الميلاد موجودًا بالفعل مرت هذا العام، ويضيف 1 ليحصل على العام التالي

  3. يطرح تاريخ اليوم للحصول على المتبقي يوم

مثال للنتيجة: 47 (يومًا حتى عيد ميلاد)

البديل: تاريخ عيد الميلاد التالي

لإظهار التاريخ الفعلي لعيد الميلاد التالي عيد الميلاد:

=DATE(YEAR(TODAY()) + (DATE(YEAR(TODAY()),MONTH(A2),DAY(A2))

مقارنة الطرق جدول

[[ [TAG_753]]][[[ TAG_765]]]

الإخراج

[[[TAG_845] ]]

35

الطريقة[[[ TAG_759]]]

الصيغة

الأفضل بالنسبة إلى

DATEDIF (سنوات)

=DATEDIF(A2,TODAY(),"Y")[ [[TAG_783]]]

35

بسيط عرض العمر

DATEDIF (كامل)

=DATEDIF(...) مع Y، YM، MD

35 سنة، 10 أشهر، 12 يومًا

دقيق السجلات

[[[TAG_ 816]]]YEARFRAC

= YEARFRAC(A2,TODAY(),1)

[[[TA G_826]]]35.87

المالية/العلمية tific

[[[TAG_83 6]]]INT(YEARFRAC)

[[[TAG_841] ]]=INT(YEARFRAC(A2,TODAY(),1))

بديل ل DATEDIF

[[[ TAG_857]]]التوصية:

  • في معظم الحالات، استخدم DATEDIF مع المعلمة "Y"

  • للحصول على تفاصيل دقيقة، استخدم DATEDIF مع المعلمات الثلاثة

  • للأعمار العشرية، استخدم YEARFRAC مع الأساس 1

المشكلات والحلول الشائعة

المشكلة: DATEDIF لا يظهر في الإكمال التلقائي

الحل: هذا أمر طبيعي. DATEDIF هي وظيفة قديمة لم توثقها Microsoft رسميًا مطلقًا. ما عليك سوى كتابته يدويًا، فهو يعمل في جميع إصدارات Excel بدءًا من عام 2007 فصاعدًا.

المشكلة: #VALUE! خطأ

الأسباب:

  • تحتوي إحدى الخليتين أو كلتيهما على نص بدلاً من التواريخ

  • خلايا فارغة في الصيغة النطاق

الحل ons:

  1. تحويل النص حتى الآن: =DATEVALUE(A2)]

  2. التحقق من وجود خلايا فارغة: =IF(A2=""، ""، DATEDIF(A2, TODAY(), "Y"))

المشكلة: نتيجة سلبية أو #NUM! خطأ

السبب: تاريخ الانتهاء يسبق تاريخ البدء (على سبيل المثال، تاريخ ميلاد مستقبلي، أو تواريخ خاطئة ترتيب)

الحلول:

  1. تبديل الوسائط: =DATEDIF(B2, A2, "Y") بدلاً من =DATEDIF(A2, B2, "Y")

  2. إضافة التحقق: =IF(A2>TODAY(), "تاريخ المستقبل"، DATEDIF(A2, TODAY(), "Y"))

المشكلة: تعرض الصيغة الفواصل المنقوطة بدلاً من الفواصل المنقوطة فواصل

السبب: يستخدم برنامج Excel إعدادات اللغة الأوروبية

الحل: استبدل الفواصل بـ الفواصل المنقوطة:

=DATEDIF(A2; TODAY(); "Y")

المشكلة: العمر يقل بمقدار واحد السنة

السبب: عادة تفسير تنسيق التاريخ المشكلة

الحل:

  1. التحقق من صحة التاريخ في الصيغة bar

  2. أعد إدخال التواريخ بتنسيق ISO (YYYY-MM-DD)

  3. استخدام DATEVALUE بشكل صريح تحليل التاريخ

المشكلة: الصيغة تعمل ولكنها تظهر كنص

الحل: إزالة أي فاصلة عليا بادئة من الخلية، أو أعد إدخال الصيغة بدون مسافات قبل علامة التساوي.

Excel vs Google Sheets

يدعم كل من Excel وجداول بيانات Google DATEDIF، ولكن هناك بعض التفاصيل الدقيقة الاختلافات:

[[[TA G_1003]]][[[TAG_1 032]]]

YEARFRAC

الميزة

Excel

جداول بيانات Google

DATEDIF دعم

نعم (مخفي)

نعم (مرئي في الإكمال التلقائي)

[[[TAG_1 037]]]نعم

نعم[[[TAG_104 2]]]

التاريخ تحليل

يعتمد على اللغة

المزيد مرنة

[[ [TAG_1061]]]TODAY()

نعم[[ [TAG_1066]]]

نعم

[[[TAG_10 71]]]

جوجل الأوراق الخاصة:

  • يظهر DATEDIF في الإكمال التلقائي (على عكس Excel)

  • تحليل التاريخ بشكل عام أكثر تسامحًا

  • يعمل بناء جملة الصيغة نفسها في في معظم الحالات

نصيحة: للحصول على أقصى قدر من التوافق بين كلا النظامين الأساسيين، دائمًا استخدم:

  • تنسيق تاريخ ISO (YYYY-MM-DD)

  • تاريخ صريح الدالات بدلاً من التواريخ النصية

  • DATEDIF لحسابات العمر (يعمل بشكل مماثل في كلاهما)

بديل عبر الإنترنت

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

توفر الآلة الحاسبة عبر الإنترنت أيضًا:

  • العمر بوحدات متعددة (سنوات، أشهر، أسابيع، أيام)

  • العد التنازلي لعيد الميلاد القادم

  • اليوم من الأسبوع الذي كنت فيه تاريخ الميلاد

  • إجمالي الأيام عاش

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

هل DATEDIF دقيق للسنوات الكبيسة؟

نعم. عندما تحتوي خلاياك على تواريخ منسقة بشكل صحيح، يقوم Excel تلقائيًا بحساب السنوات الكبيسة وأطوال الأشهر المختلفة. تتعامل الدالة DATEDIF بشكل صحيح مع أعياد الميلاد التي تقع في 29 فبراير وتحسب العمر بدقة بغض النظر عن اعتبارات السنة الكبيسة.

ما الطريقة الأفضل: DATEDIF أم YEARFRAC؟

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

هل يمكنني حساب العمر بالأشهر فقط؟

نعم. استخدم المعلمة "M" في DATEDIF:

=DATEDIF(A2, TODAY(), "M")

يؤدي هذا إلى إرجاع إجمالي عدد الأشهر الكاملة بين تاريخ الميلاد و اليوم.

لماذا لا تظهر DATEDIF في الإكمال التلقائي لـ Excel؟

DATEDIF هي وظيفة توافق ورثتها Microsoft من Lotus 1-2-3. لم يتم توثيقه رسميًا مطلقًا في نظام مساعدة Excel، لذلك لا يظهر في الإكمال التلقائي أو معالج الوظائف. ومع ذلك، فهو يعمل بكامل طاقته ويستخدم على نطاق واسع. فقط اكتبه يدويًا.

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

استبدل TODAY() بمرجع خلية يحتوي على هدفك التاريخ:

=DATEDIF(A2, B2, "Y")

حيث A2 هو تاريخ الميلاد وB2 هو التاريخ الذي تريد حساب العمر فيه of.

هل يعمل هذا في إصدارات Excel الأقدم؟

نعم. أصبح DATEDIF متاحًا منذ Excel 97. تعمل الصيغ الموجودة في هذا الدليل في Excel 2007 و2010 و2013 و2016 و2019 و2021 وMicrosoft 365.

كيف يمكنني حساب عمر عدة أشخاص في مرة واحدة؟

أدخل صيغة DATEDIF في الصف الأول من عمود العمر، ثم اسحب مقبض التعبئة لأسفل لنسخها إلى جميع الصفوف. وبدلاً من ذلك، قم بتحويل بياناتك إلى جدول Excel (Ctrl+T) وسيتم تطبيق الصيغة تلقائيًا على جميع الصفوف، بما في ذلك الصفوف الجديدة التي تضيفها لاحقًا.

هل يمكنني حساب العمر وعرضه بتنسيق مخصص؟

نعم. دمج DATEDIF مع وظائف TEXT والتسلسل:

=DATEDIF(A2,TODAY(),"Y") & "y " & DATEDIF(A2,TODAY(),"YM") & "m " & DATEDIF(A2,TODAY(),"Y") & " "d"

الإخراج: "35y 10m 12d"