كيف يمكن حساب العمر لتاريخ يسبق 1/1/1900 في Excel؟
في Excel، لا يمكن إدخال التواريخ السابقة لـ 1/1/1900 أو حسابها بدقة. فإذا كنت ترغب في حساب عمر شخص وُلد وتُوفي قبل هذا التاريخ، فغالبًا لن تحصل على نتيجة صحيحة باستخدام Excel مباشرةً. لكن هذه المقالة تقدّم خدعة ذكية تساعدك على حساب العمر بدقة حتى للتواريخ التي تسبق 1/1/1900!
حساب العمر قبل 1/1/1900 باستخدام VBA
احسب العمر حسب تاريخ الميلاد باستخدام Kutools لـ Excel ![]()
حساب العمر قبل 1/1/1900 باستخدام VBA
يوجد كود VBA يُمكّنك من حساب العمر بدقة وسرعة حتى للتواريخ السابقة لـ 1/1/1900.
1. حدد خلية فارغة وأدخل فيها تاريخ ميلاد الشخص، ثم اختر خلية أخرى لإدخال تاريخ اليوم أو تاريخ الوفاة حسب الحاجة. راجع لقطة الشاشة:
2. ثم اضغط على مفاتيحAlt + F11 لفتح نافذةMicrosoft Visual Basic for Applications.
3. انقر علىإدراج > وحدة نمطية (Module)، ثم الصق كود VBA أدناه في نافذة الوحدة النمطية (Module)الجديدة.
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 للحصول على العمر. بعد ذلك، اسحب مقبض التعبئة التلقائية إلى الخلايا التي تريدها. انظر لقطة الشاشة:
ملاحظة:يمكن لهذا الكود VBA حساب الأعمار فقط للتواريخ المكتوبة بصيغة mm/dd/yyyy، مثل 6/23/1845.
احسب العمر حسب تاريخ الميلاد باستخدام Kutools لـ Excel
إذا كانت تواريخ الميلاد عادةً بعد 1/1/1900، يمكنك استخدام أداةKutools لـ Excelمنمساعد التاريخ والوقت، التي تحسب العمر بسرعة بناءً على تواريخ الميلاد المُعطاة.
بعدتثبيت Kutools لـ Excel مجانًا، يُرجى اتباع الخطوات التالية:
1. حدد خلية فارغة تريد عرض العمر فيها، ثم انقر علىKutools > مساعد الصيغة > مساعد التاريخ والوقت. انظر لقطة الشاشة:
2. بعد ذلك، في مربع حوارمساعد التاريخ والوقت، اختر خيار العمر (Age)، ثم حدد تاريخ الميلاد الذي تريد حساب العمر بناءً عليه في مربع النصDate of Birth. بشكل افتراضي، يتم تعيين الخلية كمرجع مطلق، ويمكنك تغييره إلى مرجع نسبي. بعد ذلك، اختر خيارToday، وحدد نوع الناتج الذي ترغب في عرضه من القائمة المنسدلة تحتنوع النتيجة المخرجة. انظر لقطة الشاشة:
3. انقر علىموافق (Ok)لتطبيق هذه الصيغة، وسترى الآن أن العمر قد ظهر. وإذا احتجتَ إلى ذلك، يمكنك سحب مقبض التعبئة التلقائية إلى الخلايا التي تريدها. انظر لقطة الشاشة:
أفضل أدوات الإنتاجية لمكتبتك
عزِّز مهاراتك في Excel باستخدام Kutools لـ Excel، وعايش الكفاءة كما لم تفعل من قبل.يقدّم Kutools لـ Excel أكثر من 300 ميزة متقدمة لتعزيز الإنتاجية ووقت الحفظ.انقر هنا للحصول على الميزة التي تحتاجها أكثر من غيرها...
يجلب Office Tab واجهة ذات علامات تبويب إلى Office، ويجعل عملك أسهل بكثير
- تمكّن من التحرير والقراءة باستخدام علامات التبويب في Word وExcel وPowerPoint، وPublisher وAccess وVisio وProject.
- افتح وأنشئ مستندات متعددة في علامات تبويب جديدة داخل النافذة نفسها، بدلاً من فتح نوافذ جديدة.
- يزيد إنتاجيتك بنسبة 50% ويوفّر لك مئات نقرات الفأرة كل يوم!
جميع الإضافات من Kutools في برنامج تثبيت واحد!
Kutools for Office حزمةٌ تحتوي على إضافاتٍ مخصصة لتطبيقات Excel وWord وOutlook وPowerPoint، إلى جانب Office Tab Pro، مما يجعلها الخيار المثالي للفِرق التي تعمل عبر تطبيقات Office.
- حزمة شاملة واحدة— إضافات Excel وWord وOutlook وPowerPoint بالإضافة إلى Office Tab Pro
- برنامج تثبيت واحد، ترخيص واحد— الإعداد خلال دقائق (جاهز لـ MSI)
- يعمل بشكل أفضل معًا— إنتاجية ميسَّرة عبر تطبيقات Office
- تجربة مجانية لمدة 30 يومًا بكامل الميزات— بدون تسجيل، بدون بطاقة ائتمان
- أفضل قيمة— وفِّر مقارنةً بشراء الإضافات بشكل منفصل