Skip to main content

كيفية حساب العمر قبل 1/1/1900 في Excel؟

Author: Sun Last Modified: 2025-05-30

في Excel، لا يمكن إدخال التاريخ قبل 1/1/1900 وحسابه بشكل صحيح. إذا كنت ترغب في حساب عمر شخص ولد وتوفي قبل 1/1/1900، فلن تحصل على الحساب الصحيح عادةً في Excel. لكن هنا في هذه المقالة، هناك خدعة يمكن أن تساعدك على حساب العمر قبل 1/1/1900 في Excel.

حساب العمر قبل 1/1/1900 باستخدام VBA

حساب العمر بالميلاد باستخدام Kutools لـ Excel good idea3


arrow blue right bubble حساب العمر قبل 1/1/1900 باستخدام VBA

إليك كود VBA يمكن أن يساعدك في حساب العمر بسرعة قبل 1/1/1900.

1. حدد خلية فارغة وأدخل تاريخ ميلاد الشخص، ثم حدد خلية أخرى لإدخال تاريخ اليوم أو تاريخ وفاة الشخص حسب الحاجة. انظر إلى لقطة الشاشة:
sample data

2. ثم اضغط على مفاتيح Alt + F11 لتمكين نافذة Microsoft Visual Basic for Applications.

3. انقر فوق إدراج > وحدة، والصق الكود التالي VBA في نافذة الوحدة الجديدة.

VBA: حساب العمر قبل 1/1/1900

Public Function AgeFunc(SDate As Variant, EDate As Variant) As Long
'UpdatebyExtendOffice20160429
    Dim xSMonth As Integer
    Dim xSDay As Integer
    Dim xSYear As Integer
    Dim xEMonth As Integer
    Dim xEDay As Integer
    Dim xEYear As Integer
    Dim xAge As Integer
    If Not GetDate(SDate, xSYear, xSMonth, xSDay) Then
        AgeFunc = "Invalid Date"
        Exit Function
    End If
    If Not GetDate(EDate, xEYear, xEMonth, xEDay) Then
        AgeFunc = "Invalid Date"
        Exit Function
    End If
    xAge = xEYear - xSYear
    If xSMonth > xEMonth Then
        xAge = xAge - 1
    ElseIf xSMonth = xEMonth Then
        If xSDay > xEDay Then xAge = xAge - 1
    End If
    If xAge < 0 Then
        AgeFunc = "Invalid Date"
    Else
        AgeFunc = xAge
    End If
End Function

Private Function GetDate(ByVal DateStr As String, Y As Integer, M As Integer, D As Integer) As Boolean
    Dim I As Long
    Dim K As Long
    Y = 0
    M = 0
    D = 0
    GetDate = True
    On Error Resume Next
    I = InStr(1, DateStr, "/")
    M = CLng(Left(DateStr, I - 1))
    D = CLng(Mid(DateStr, I + 1, InStr(I + 1, DateStr, "/") - I - 1))
    Y = CLng(Right(DateStr, Len(DateStr) - InStrRev(DateStr, "/")))
    If M < 1 Or M > 12 Or D < 1 Or D > 31 Or Y < 1 Then
        GetDate = False
    End If
End Function

4. حدد خلية فارغة، هنا الخلية C2، وأدخل هذه الصيغة =AgeFunc(A2,B2) (A2 هو تاريخ الميلاد، وB2 هو تاريخ الانتهاء)، واضغط على Enter للحصول على العمر، واسحب مقبض التعبئة التلقائية لتغطية الخلايا التي تحتاجها. انظر إلى لقطة الشاشة:
apply user defined function to get the result

ملاحظة: يمكن لهذا الكود VBA فقط حساب الأعمار بالتاريخ بصيغة mm/dd/yyyy، مثل 6/23/1845.


arrow blue right bubble حساب العمر بالميلاد باستخدام Kutools لـ Excel

إذا كانت تواريخ الميلاد بعد 1/1/1900 بشكل طبيعي، يمكنك تطبيق أداة المساعدة الزمنية والتاريخية من Kutools لـ Excel، والتي يمكنها حساب العمر بسرعة بناءً على تواريخ الميلاد المعطاة.

Kutools لـ Excel يقدم أكثر من 300 ميزة متقدمة لتبسيط المهام المعقدة، مما يعزز الإبداع والكفاءة. بالتكامل مع قدرات الذكاء الاصطناعي، يقوم Kutools بأتمتة المهام بدقة، مما يجعل إدارة البيانات أمرًا سهلاً للغاية. معلومات تفصيلية عن Kutools لـ Excel... نسخة تجريبية مجانية...

بعد تثبيت Kutools لـ Excel مجانًا ، يرجى القيام بما يلي:

1. حدد خلية فارغة تريد إخراج العمر فيها، وانقر فوق Kutools > مساعد الصيغة > Date & Time helper. انظر إلى لقطة الشاشة:
 click Date & Time helper feature of kutools

2. ثم في Date & Time helper الحوار، قم بتحديد خيار العمر، واختر تاريخ الميلاد الذي تريد حساب العمر بناءً عليه في مربع النص تاريخ الميلاد افتراضيًا، سيتم تحديد الخلية كمرجع مطلق، ويمكنك تغييره إلى مرجع نسبي، ثم تحقق من اليوم الخيار واختر نوع النتيجة الذي تريد عرضه في القائمة المنسدلة لـ نوع النتيجة المخرجة. انظر إلى لقطة الشاشة:
specify options in the dialog box

3. انقر فوق موافق لتطبيق هذه الصيغة، والآن يمكنك رؤية أن العمر قد تم عرضه. وإذا كنت بحاجة، يمكنك سحب مقبض التعبئة التلقائية لتغطية الخلايا التي تحتاج إلى هذه الصيغة. انظر إلى لقطة الشاشة:
the age has been calculated

أفضل أدوات الإنتاجية لمكتب العمل

🤖 Kutools AI Aide: أحدث ثورة في تحليل البيانات من خلال: التنفيذ الذكي |توليد الشيفرة |إنشاء الصيغ المخصصة |تحليل البيانات وتوليد الرسوم البيانية |استدعاء الوظائف المحسنة
الميزات الشائعة: البحث، تمييز أو وضع علامة على المكررات | حذف الصفوف الفارغة | دمج الأعمدة أو العنوان دون فقدان البيانات | تقريب ...
بحث متقدم: بحث V متعدد المعايير | بحث V متعدد القيم | بحث في عدة ورقات | مطابقة غامضة ....
قائمة منسدلة متقدمة: إنشاء قائمة منسدلة بسرعة | قائمة منسدلة تابعة | قائمة منسدلة متعددة الاختيار ....
إدارة الأعمدة: إضافة عدد محدد من الأعمدة | نقل الأعمدة | تبديل حالة إظهار الأعمدة المخفية | مقارنة النطاق والأعمدة ...
ميزات مميزة: التركيز على الشبكة | عرض التصميم | شريط الصيغ المحسن | أدوات المصنف & أدوات الورقة العمل | مكتبة النص التلقائي (Auto Text) | منتقي التاريخ | دمج البيانات | تشفير/فك تشفير الخلايا | إرسال البريد الإلكتروني حسب القائمة | مرشح متقدم | تصفية خاصة (تصفية الخلايا التي تحتوي على خط عريض/مائل/يتوسطه خط...) ...
أفضل15 مجموعة أدوات:12 أداة نصية (إضافة نص، حذف الأحرف المحددة، ...) | أكثر من50 نوع من الرسوم البيانية (مخطط جانت، ...) | أكثر من40 صيغة عملية (حساب العمر بناءً على تاريخ الميلاد، ...) |19 أداة إدراج (إدراج رمز الاستجابة السريعة، إدراج صورة من المسار، ...) |12 أداة تحويل (تحويل إلى كلمات، تحويل العملة، ...) |7 أدوات دمج وتقسيم (دمج متقدم للصفوف، تقسيم الخلايا، ...) | ... والمزيد

عزز مهاراتك في Excel مع Kutools لـ Excel، واختبر الكفاءة كما لم يحدث من قبل. Kutools لـ Excel يقدم أكثر من300 ميزة متقدمة لزيادة الإنتاجية وتوفير وقت الحفظ. انقر هنا للحصول على الميزة التي تحتاجها أكثر...


Office Tab يقدم واجهة التبويب لـ Office، ويجعل عملك أسهل بكثير

  • تمكين تحرير وقراءة المستندات عبر التبويبات في Word وExcel وPowerPoint.
  • افتح وأنشئ عدة مستندات في تبويبات جديدة ضمن نفس النافذة، بدلاً من فتحها في نوافذ منفصلة.
  • يزيد إنتاجيتك بنسبة50%، ويقلل مئات النقرات بالماوس يومياً!