Date Issue

william11

New Member
Joined
Aug 11, 2014
Messages
21
Hi, and thank you for reading.

Billing frequency (B1) is either quarterly (4), semi-annual(2), or yearly(1) from drop-down list. I have a cell (A1) for the date when my contract begins and C1 would be the first bill date, in another cell (D1) I would like to display the next bill due for each user. I also want D1 to auto-update based on current date and add either 3 months, 6 months, or a year to D1 when 'next bill date' has already occurred.

A B C D
|Start date | Billing Frequency | First Bill Date | Next Bill Date|



So I was thinking something like this:

IF(AND(B1=1, than auto-update D1 yearly, IF(B1=2, then auto-update D1 semi-annual, IF(B1=4, then auto-update D1 quarterly

and I guess somehow this needs to correspond with TODAY() in order to update itself.
 

Excel Facts

Format cells as time
Select range and press Ctrl+Shift+2 to format cells as time. (Shift 2 is the @ sign).
william11,

This is not perfect but maybe it's workable for you.
As you can see from below, now and again depending upon leap year or not and the actual month first billed and the today month, there can be a one or two day error.
It is not cumulative. two days should be the max.


Excel 2007
ABCD
1StartFreqFirst BillNext Bill
201/01/2006406/02/200606/11/2014
301/01/2013230/09/201330/09/2014
401/01/2010130/01/201030/01/2015
501/08/2014230/08/201430/08/2014
601/07/2009130/07/200930/07/2015
701/07/2014230/07/201428/01/2015
802/06/2014230/06/201429/12/2014
903/10/2013430/10/200830/10/2014
Sheet2
Cell Formulas
RangeFormula
D2=TODAY() +(365.25/B2)-(MOD(TODAY()-C2,365.25/B2))


Hope that helps.
 
Upvote 0
Thank you for the reply Snakehips. I was hoping for a formula that would display the desired dates in cell D


ABCD
1StartFreqFirst BillNext Bill
201/01/2006401/15/200604/15/2006
301/01/2006201/15/200607/15/2006
401/16/2006102/1/200602/01/2007

<colgroup><col><col><col><col><col></colgroup><thead>
</thead><tbody>
</tbody>


Please only consider column C and how to apply column B in order to get the result in column D. Also, this will need to auto-update another year, half year, or 3 months when date in column D has been reached.

Thank you for your help.
 
Upvote 0
Try this in D2 and copy down.
Code:
=EDATE(C2,DATEDIF(C2,TODAY(),"m")+12/D2-(MOD(DATEDIF(C2,TODAY(),"m"),12/D2)))

It's based on today's date on the assumption that past billings have already been billed. Please advise if this is not what you want.

To get Col D in your 2nd post, try:
=EDATE(C2,12/D2)
 
Last edited:
Upvote 0
CustomerLocker # Effective Date Locker2Billing FrequencyBilling CyleFirst Bill Date1st BillNext Bill DateNext Bill AmountMonthAnnual
William8/1/2014120115th8/15/2014$148.50$132.00$33.00$132.00
Alexandra8/1/2014120215th8/15/2014$82.50 $66.00$33.00$132.00
michael scott8/15/201412041st9/1/2014$52.80 $33.00$33.00$132.00

<colgroup><col><col><col><col><col><col><col><col><col><col><col><col><col></colgroup><tbody>
</tbody>


In this example "Next Bill Date" would be:

8/15/2015 (add 12 months to 8/15/2014)
2/15/2015 (add 6 months to 8/15/2014)
12/1/2014 (add 3 months to 9/1/2014)
 
Upvote 0
I pasted the equation


=EDATE(C2,DATEDIF(C2,TODAY(),"m")+12/D2-(MOD(DATEDIF(C2,TODAY(),"m"),12/D2)))</pre>
in D2, but the equation contains 'D2' and I am getting a 'circular reference' error. Am I missing something?

Thank you so much I have spent more time than I would like to admit trying to figure this equation.
 
Last edited:
Upvote 0
You probably didn't see the last part of my post which I edited. Try this formula:
=EDATE(C2,12/D2)
 
Upvote 0
Hi Ron, could you check my last two posts and advise? I want to put the equation in 'NextBillDate' column D (circular reference to have D in equation?) and be able to drag it down to effect all 'Customers'. So the equation would need to be able to recognize/respond to either the 3 month, 6 month, or 12 month 'billing frequency' designation.
 
Last edited:
Upvote 0
Change the 2 instances of D2 to the column that contains the "Billing Frequency" (maybe F2 in your layout). In my test data I had the date in C2 and the Billing Frequency in D2 and the formula in E2. Sorry about that. So does the 1st longer formula give you what you're looking for of did the 2nd shorter formula work for you?
 
Upvote 0
Change the 2 instances of D2 to the column that contains the "Billing Frequency" (maybe F2 in your layout). In my test data I had the date in C2 and the Billing Frequency in D2 and the formula in E2. Sorry about that. So does the 1st longer formula give you what you're looking for of did the 2nd shorter formula work for you?


=EDATE(C2,12/D2)

The above equation works but my concern is that 'next bill date' will not auto-update as the months/years pass. (I changed the date on my computer and 'next bill date' did not update to what would be the next future billing date; =today() confirmed excel did recognize my manual date change)


=EDATE(C2,DATEDIF(C2,TODAY(),"m")+12/D2-(MOD(DATEDIF(C2,TODAY(),"m"),12/D2)))

The above equation returns a #NUM! error. C2 is my 'effective date' and D2 is 'billing frequency'
 
Upvote 0

Forum statistics

Threads
1,220,965
Messages
6,157,120
Members
451,399
Latest member
alchavar

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