"Next Date" with known frequency and start date

laleph

New Member
Joined
May 2, 2011
Messages
16
Help desperately needed. I don't think this should be too tough but for the life of me can't figure it out. I need a formula for Column C which will auto populate based on today's date Today().

Since we know the start date and the frequency, I just need to formula which gives me the next date in the series from today. Note that if a "start date" is on a day that is either the 29, 30, or 31st, we'd need the "next date" to be the last day of the month (for example, if a start date was 8/31/12, in February the monthly next date would be 2/28/13.)

Looking at my sheet below,
C2 should = 1/18/2013
C6 should = 12/17/2012
C12 should = 1/5/2013
C21 should = 2/28/2013
C24 should = 10/24/2013

Any help here would be GREATLY appreciated!

Thanks!

-Lars


[TABLE="class: cms_table, width: 405"]
<tbody>[TR]
[TD][/TD]
[TD]A[/TD]
[TD]B[/TD]
[TD]C[/TD]
[/TR]
[TR]
[TD]1[/TD]
[TD]Start Date[/TD]
[TD]Frequency[/TD]
[TD]Next Date[/TD]
[/TR]
[TR]
[TD]2[/TD]
[TD]1/18/2006[/TD]
[TD]Annually[/TD]
[TD][/TD]
[/TR]
[TR]
[TD]3[/TD]
[TD]1/12/2012[/TD]
[TD]Annually[/TD]
[TD][/TD]
[/TR]
[TR]
[TD]4[/TD]
[TD]2/13/2004[/TD]
[TD]Annually[/TD]
[TD][/TD]
[/TR]
[TR]
[TD]5[/TD]
[TD]4/5/2012[/TD]
[TD]Annually[/TD]
[TD][/TD]
[/TR]
[TR]
[TD]6[/TD]
[TD]1/17/2012[/TD]
[TD]Monthly[/TD]
[TD][/TD]
[/TR]
[TR]
[TD]7[/TD]
[TD]1/28/2012[/TD]
[TD]Monthly[/TD]
[TD][/TD]
[/TR]
[TR]
[TD]8[/TD]
[TD]1/30/2012[/TD]
[TD]Monthly[/TD]
[TD][/TD]
[/TR]
[TR]
[TD]9[/TD]
[TD]1/13/2012[/TD]
[TD]Monthly[/TD]
[TD][/TD]
[/TR]
[TR]
[TD]10[/TD]
[TD]5/31/2002[/TD]
[TD]Monthly[/TD]
[TD][/TD]
[/TR]
[TR]
[TD]11[/TD]
[TD]1/12/2012[/TD]
[TD]Monthly[/TD]
[TD][/TD]
[/TR]
[TR]
[TD]12[/TD]
[TD]7/5/2010[/TD]
[TD]Monthly[/TD]
[TD][/TD]
[/TR]
[TR]
[TD]13[/TD]
[TD]1/28/2012[/TD]
[TD]Monthly[/TD]
[TD][/TD]
[/TR]
[TR]
[TD]14[/TD]
[TD]11/29/2007[/TD]
[TD]Monthly[/TD]
[TD][/TD]
[/TR]
[TR]
[TD]15[/TD]
[TD]8/28/2006[/TD]
[TD]Monthly[/TD]
[TD][/TD]
[/TR]
[TR]
[TD]16[/TD]
[TD]1/5/2012[/TD]
[TD]Monthly[/TD]
[TD][/TD]
[/TR]
[TR]
[TD]17[/TD]
[TD]8/11/2006[/TD]
[TD]Monthly[/TD]
[TD][/TD]
[/TR]
[TR]
[TD]18[/TD]
[TD]1/8/2007[/TD]
[TD]Monthly[/TD]
[TD][/TD]
[/TR]
[TR]
[TD]19[/TD]
[TD]1/10/2012[/TD]
[TD]Monthly[/TD]
[TD][/TD]
[/TR]
[TR]
[TD]20[/TD]
[TD]1/1/2013[/TD]
[TD]Monthly[/TD]
[TD][/TD]
[/TR]
[TR]
[TD]21[/TD]
[TD]11/30/2007[/TD]
[TD]Quarterly[/TD]
[TD][/TD]
[/TR]
[TR]
[TD]22[/TD]
[TD]3/28/2012[/TD]
[TD]Quarterly[/TD]
[TD][/TD]
[/TR]
[TR]
[TD]23[/TD]
[TD]6/15/2012[/TD]
[TD]Quarterly[/TD]
[TD][/TD]
[/TR]
[TR]
[TD]24[/TD]
[TD]4/15/2009[/TD]
[TD]Semi Annually[/TD]
[/TR]
</tbody>[/TABLE]
 

Excel Facts

When they said...
When they said you are going to "Excel at life", they meant you "will be doing Excel your whole life".
What does today() have to do with any of this?
Why is c6 supposed to +11 months?
Why is c12 supposed to be +6 months?

Seems like you want formula similar to this:
=min((a2+___something to add DAYS based on annual/semi/quarter/month___),eomonth(a2,___something for # of months))
 
Upvote 0
Great question. We know when these dates started, and how frequently they take place. So for example C6 takes place monthly, and started on 1/17/12 (so it took place 2/17/12, 3/17/12, 4/17/12, etc.) I want to know based on today (12/12/12), when the next is set to occur (in this case it's set to occur on 12/17/12). The same goes for C12, except C12 would have occured earlier this month, so it's next occurance would fall on 1/5/13.

I think your formula is getting close to what I need, or at least along the right path.

Thanks in advance!
 
Upvote 0
Your first question:Column C which will auto populate based on today's date Today().

=now()
 
Upvote 0
Here's a start for how I would approach the problem:
c2:

=choose(match(b2,{"Annually","Semi Annually","Quarterly","Monthly"},0),1,2,3,4)

where 1 [annually] would be:
if(datevalue(day(a1)&/|"&month(a1)&"/"&year(today()))>=datevalue(today()),datevalue(day(a1)&"/"&month(a1)&"/"&year(today())),datevalue(day(a1)&"/"&month(a1)&"/"&(1+year(today()))))

So, with 1 filled in:
=choose(match(b2,{"Annually","Semi Annually","Quarterly","Monthly"},0),if(datevalue(day(a1)&"/"&month(a1)&"/"&year(today()))>=datevalue(today()),datevalue(day(a1)&"/"&month(a1)&"/"&year(today())),datevalue(day(a1)&"/"&month(a1)&"/"&(1+year(today())))),2,3,4)

I'll let you think of 2, 3, & 4 - but the logic will be the same. This should give you a big jump start.
 
Upvote 0

Forum statistics

Threads
1,223,054
Messages
6,169,834
Members
452,284
Latest member
TKM623

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top