NPV Calculator

juul2222

New Member
Joined
Jan 14, 2017
Messages
18
Please be kind... i'm a rookie user. I'm trying to create a space planning and capital estimating tool that has several inputs. The one I'm struggling with is calculating NPV for a variety of scenarios. More specifically, I'd like a user to be able to enter a particular number of years on a potential space lease (round numbers from 1 to 15), Year 1 rent rate, annual rate increase as a percentage, and discount rate. I have the following formula for a 10 year lease, but it just seems like there is an easier way and then I don't want to have to build an IF function for all the different years. Perhaps I'm just lazy, but if there isn't an easier way, I'll get to coding.

=NPV(dr,usf*(1+lf)*br,usf*(1+lf)*(br*(1+ari)^1),usf*(1+lf)*(br*(1+ari)^2),usf*(1+lf)*(br*(1+ari)^3),usf*(1+lf)*(br*(1+ari)^4),usf*(1+lf)*(br*(1+ari)^5),usf*(1+lf)*(br*(1+ari)^6),usf*(1+lf)*(br*(1+ari)^7),usf*(1+lf)*(br*(1+ari)^8),usf*(1+lf)*(br*(1+ari)^9))
 

Excel Facts

Which came first: VisiCalc or Lotus 1-2-3?
Dan Bricklin and Bob Frankston debuted VisiCalc in 1979 as a Visible Calculator. Lotus 1-2-3 debuted in the early 1980's, from Mitch Kapor.
If you want to do this calculation in a single cell, the NPV formula for level lease payments: usf*(1+lf)*br equates to

usf*(1+lf)*br * (1-(1+dr)^-N)/dr where N is the term.

You're inflating the lease payments at ari, so effectively you're only discounting at rate: (1+dr)/(1+ar)-1.
But inflation applies only from the second payment, so we need to adjust the result by a factor of 1/(1+ari)

So we can use the single cell formula:

usf*(1+lf)*br / (1+ari) * (1-((1+dr)/(1+ari))^-N)/((1+dr)/(1+ari)-1)

But probably the better way to illustrate what's going on would be for you to have a schedule showing lease payments from t=1 to t=15. You can then pass these as a range to the NPV function.

Or alternatively, you could also show the discount factors and use a =SUMPRODUCT(payments,discount factors) type formula.
 
Upvote 0
To better illustrate:

B11: =IF(A11<=N,Pmt*(1+ari)^(A11-1),"")
C11: =IF(A11<=N,(1+dr)^-A11,"")

B6: =Pmt / (1+ari) * (1-((1+dr)/(1+ari))^-N)/((1+dr)/(1+ari)-1) (Schedule not used)
B7: =NPV(dr,B11:B25)
B8: =SUMPRODUCT(B11:B25,C11:C25)


Excel 2010
ABC
1Term in years (N)10
2Initial lease payment (Pmt)$1,000.00
3Discount rate (dr)5%
4Inflation (ari)3%
5
6Result:$8,747.60
7$8,747.60
8$8,747.60
9
10TimePaymentDiscount
111$1,000.000.95
122$1,030.000.91
133$1,060.900.86
144$1,092.730.82
155$1,125.510.78
166$1,159.270.75
177$1,194.050.71
188$1,229.870.68
199$1,266.770.64
2010$1,304.770.61
2111
2212
2313
2414
2515
Sheet2
 
Last edited:
Upvote 0
Wow... impressive! I don’t necessarily need a 1 cell solution. In fact, a schedule would be pretty nice. I just don’t know how to do that with the necessary input fields and one scalable schedule. I can only think of doing a separate schedule for each possible situation (15 different schedules). That’s fine, but again, looking for simpler. If you have any thoughts on fractional years or even a dynamic rent increase input, I’m open ears!
 
Upvote 0
I'd build a single schedule myself, sophisticated enough to accommodate all the parameter variations you need to test, which may include payment frequency - monthly is probably a more realistic assumption than annually in arrears, but perhaps you also want to accommodate weekly or fortnightly?

Then you can store a range of scenarios, and generate an NPV, with supporting detailed schedule, for any given choice:

No: =B1
Scenarios: =E3:H6
B3:B6 =INDEX(Scenarios,,No) (array-entered over the whole range)


Excel 2010
ABCDEFGH
1Scenario2
2Parameters to use in Schedule:Stored Scenarios
3Term in years (N)10Term in years (N)510.10
4Initial lease payment (Pmt)$1,000.00Initial lease payment (Pmt)$1,500.00$1,000.00
5Discount rate (dr)5%Discount rate (dr)5%5%
6Inflation (ari)3%Inflation (ari)2%3%
7
8Calculated NPV (from detailed schedule)$8,747.60(say)
Sheet1
 
Upvote 0
I'm having trouble with the formulas that contain ari, dr, etc. This is going to expose the fact that someone else provided me with the initial formula I posted as well as showcase how much help I need, but how do those work if it's not referencing a particular cell?

B11: =IF(A11<=N,Pmt*(1+ari)^(A11-1),"")
C11: =IF(A11<=N,(1+dr)^-A11,"")

B6: =Pmt / (1+ari) * (1-((1+dr)/(1+ari))^-N)/((1+dr)/(1+ari)-1) (Schedule not used)
B7: =NPV(dr,B11:B25)
B8: =SUMPRODUCT(B11:B25,C11:C25)
 
Upvote 0
Possibly those are named cells, otherwise I don't think they *would* work.
 
Upvote 0
Upvote 0

Forum statistics

Threads
1,224,827
Messages
6,181,200
Members
453,022
Latest member
RobertV1609

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