convert # of years, months and days

C

catrrmg

Hi again! It just got slightly more complicated (or at least for me). Here is
an example to get the problem more clear: Mister X worked for a couple of
periods in our company:
start date end date years months days
19.12.2003 13.09.2005 1 8 25
09.10.2005 01.11.2006 1 0 23
09.11.2006 20.01.2008 1 2 11
total 3 10 59
As we see it the ex the # of days corresponds to more than a month. The
question is: how do I convert if it is necessary the # of days in months,
months > years, taking into consideration that a month could be 28, 29, 30
and 31 days long.
Thanks very much in advance.
 
P

Pete_UK

Why not just work in days - there is no ambiguity there !

If you take it that there are 365.25 days in a year on average, then
dividing this by 12 will give you 30.4375 as an average number of days
in a month.

If you make use of the DATEDIF function, I'm not sure what algorithm
it uses.

Hope this helps.

Pete
 
C

catrrmg

That is the problem: mathematic functions don't work for me in this case. I'd
like to get the exact result: X years X months X days based on the provided
information.
 
R

Ron Rosenfeld

Hi again! It just got slightly more complicated (or at least for me). Here is
an example to get the problem more clear: Mister X worked for a couple of
periods in our company:
start date end date years months days
19.12.2003 13.09.2005 1 8 25
09.10.2005 01.11.2006 1 0 23
09.11.2006 20.01.2008 1 2 11
total 3 10 59
As we see it the ex the # of days corresponds to more than a month. The
question is: how do I convert if it is necessary the # of days in months,
months > years, taking into consideration that a month could be 28, 29, 30
and 31 days long.
Thanks very much in advance.

The short answer is that you can't, without adopting some kind of convention.
Don't forget that years can also be 365 or 366 days.

The simplest, in my opinion, would be to convert to days, or to weeks and days.

If start_date and end_date are named ranges, then

The days between any two dates is simply:

=end_date-start_date (and format as General or Number with 0 decimal places)

The total dates worked would be given by the **array** formula (enter with
<ctrl><shift><enter> )

=SUM(end_date-start_date)

Other solutions could be to use the DAYS360 method, which assumes that all
months have 30 days. People will be upset because all of their "days" will not
count.

Or you could count calendar months + residual days, and ignore the fact that
the residual days are more than 30.
--ron
 
J

J. Sperry

I don't know how you can differentiate between 28-31 day months, since you're
adding periods that have various beginning and ending months. Here's what
you could try using the given information, and assuming an average
30.4375-day month:

total years = SUM(C2:C4)+FLOOR(SUM(D2:D4)/12,1)
[adds a year for every 12 months in column D]

total months =
SUM(D2:D4)-FLOOR(SUM(D2:D4)/12,1)*12+FLOOR(SUM(E2:E4)/30.4375,1)
[removes months that are accounted for in column C, adds a month for every
30.4375 days in column E]

total days = SUM(E2:E4)-FLOOR(SUM(E2:E4)/30.4375,1)*30.4375
[removes days that are accounted for in column D]
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top