Ridders , i can't dispute your calculations and have amended my function from MOD 7 to Mod 24 + 1 and it seems now to work is so would this be a fees able alternative to the public function , which i understand could be call for other date differences . I am only trying out different way of skinning the cat.

=DateDiff("m",[DOB],[DOD])\12 & " year(s), " & DateDiff("m",[DOB],[DOD]) Mod 12 & " month(s), " & DateDiff("d",[DOB],[DOD]) Mod 24+1 & " day(s)"

Regards Ypma

only tested on the date you used.

I think you should abandon this approach

Mod 24 ... where on earth did that come from?

As each month has a different number of days, I can't see how any function using Mod can give correct days in all cases.

Gasman has already given one example where it doesn't work.

Here's another

AgeAtDeath(#5/15/1952#,#7/14/2018#) => 66 year(s), 2 month(s), 23 day(s) - both months & days are wrong!

Correct answer (I hope)

CalcAge(#5/15/1952#,#7/14/2018#) => 66 Years, 1 Months And 29 Days.

The reason its 29 days because June has 30 days

CalcAge(#5/15/1952#,#6/14/2018#) => 66 Years, 0 Months And 30 Days as May has 31 days

Whilst I'm at it:

CalcAge(#2/2/2016#,#3/1/2016#) => 0 Years, 0 Months And 28 Days as 2016 is a leap year

CalcAge(#2/2/2018#,#3/1/2018#) => 0 Years, 0 Months And 27 Days as not a leap year

@Gasman

Belated birthday greetings for 19 July!