Number of days falling in various years

R

Revenue

I am starting two dates in my example. The first is 6/20/02 and the
second is 1/15/2006. I need to calculate in separate columns for years
2001 through 2006 the number of day in this year that are between
these two dates. For example, in 2001, the answer is -, in 2002, the
answer is 194, and in years 2003 through 2005, the answer is 365, and
finally in 2006, the answer is 15 days.


The formula below almost works, but 2001 it came up with a negative
number.

=MIN(IF(DATE(O1,12,31)<$K$2,0,MIN((DATE(O1,12,31)-$K$2),
365)),IF(DATE(O1,12,31)<$J$2,MIN((DATE(O1,12,31)-$K$2),365),G2-
DATE(O1,1,1)+1))

Surely there is a function to handle this sort of thing.

Thanks,


Bruce
 
J

Joe User

Revenue said:
The first is 6/20/02 and the second is 1/15/2006.
I need to calculate in separate columns for years
2001 through 2006 the number of day in this year
that are between these two dates.

First, I calculate a total of 1306 days, namely: DATE(2006,15,1) -
DATE(2002,6,20) + 1 (formatted as General).

If you agree with that method of counting, and if the start and end dates
are in J2 and K2 respectively, and the years 2001 through 2006 as in O1:O6,
then put the following formula into O1, format as General if necessary, and
copy down through O6:

=MAX(0, MIN(DATE(O1,12,31),$K$2) - MAX(DATE(O1,1,1),$J$2) + 1)


----- original message -----
 
L

Luke M

Note that 2004 was a leap year, thus 366 days.

J2: Smaller/Start Date
K2: Larger/Finish Date

O2:U2 contain the numbers 2001 thought 2008

In O3:
=IF(OR(YEAR($J$2)>O2,YEAR($K$2)<O2),0,MIN($K$2,DATE(P2,,))-MAX($J$2,DATE(O2,,)))
 
J

JLatham

Well, I was getting a negative number for 2006 until I changed the "G2"
reference in your formula to J2, then I got 15 days for 2006.

If we can assume that if the formula results in a negative number, then it's
outside of your timeframe, you can write the formula like this:
=IF(MIN(IF(DATE(O1,12,31)<$K$2,0,MIN((DATE(O1,12,31)-$K$2),365)),IF(DATE(O1,12,31)<$J$2,MIN((DATE(O1,12,31)-$K$2),365),$J$2-DATE(O1,1,1)+1))<0,0,MIN(IF(DATE(O1,12,31)<$K$2,0,MIN((DATE(O1,12,31)-$K$2),365)),IF(DATE(O1,12,31)<$J$2,MIN((DATE(O1,12,31)-$K$2),365),$J$2-DATE(O1,1,1)+1)))

That just evaluates the formula, and if it evaluates to <0, then a 0 is
displayed, otherwise it gets evaluated again and the non-zero result is
displayed.
 
R

Revenue

Thanks, I got your example formula to work.




Note that 2004 was a leap year, thus 366 days.

J2: Smaller/Start Date
K2: Larger/Finish Date

O2:U2 contain the numbers 2001 thought 2008

In O3:
=IF(OR(YEAR($J$2)>O2,YEAR($K$2)<O2),0,MIN($K$2,DATE(P2,,))-MAX($J$2,DATE(O2­,,)))

--
Best Regards,







- Show quoted text -
 

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