Note: This form, like most custom forms, works in all versions of Microsoft Outlook.
Add a custom field and use one of the following formulas to calculate the age.
Using (Now() – [Birthday] ) /365 rounds the age to the closest age… less than 6 months until the next birthday and it reports the age at the next birthday, not the current age.
Example: The birth date is 8/15/1961. The short formula displays the age as 39, since the age is more than 38.5 years. (Today is 4/1/2000.)
This longer formula gives the exact date.. the age doesn't change until the birthday.
IIf([Birthday]<>"None",DateDiff("yyyy",[Birthday],Date())-IIf(DateDiff("d",CDate(Month([Birthday]) & "/" & Day([Birthday]) & "/" & Year(Date())),Date())<0,1,0),"")Download age contact example as a template or a zip
To change existing forms to use the Age form, try DocMessageClass, a free utility used to change forms used on Outlook items.
Related posts:
« « Automatically BCC messages sent using OutlookHow to add a date stamp to the notes field of an Outlook item » »


I created a custom contact form and added birthday & age (using formula) and anniversary & years married (using formula edited for anniversaries). It worked – correct age and years married calculated. I used the DocMessageClass to convert existing contacts, which containted the birthdates and anniversary dates on the detailed pages.
When I opened an existing contact, the birthday and annivesary fields I added to general information page contained the correct information but the age and years married fields contained ‘#ERROR’ message. When I re-enter the birthdate again, the correct age and years married appear. I ‘save & close.’ When I re-open the contact, I’m back to ‘#ERROR’ messages. Any idea what’s going on and how to correct?
Can you forward me the custom form saved as a template? Send it to diane at slipstick com