Solved

Modification to ROI Formulas

Posted on 2012-03-12
16
238 Views
Last Modified: 2012-03-15
EE Professionals,

I have a very nifty macro that DMille wrote for me that allows you to put in a "Time Horizon", as a number of months and it auto generates the date fields and copies the monthly calculation formulas into each litigimate month.  This is used to allow someone to determine how many months are to be included in a financial analysis to calculate NPV, IRR and BEP.   Here's the challenge. The formulas for NPV and IRR need to be reconfigured to automatically adapt to the number of months selected in the Time Horizon (since it is now dynamic).

Attached is the WS.  The formulas that need modification are in AF3 and AF4 (right now they are fixed at 36 months).

Thank you in advance,

B.
Workbench-v26.xlsm
0
Comment
Question by:Bright01
  • 8
  • 8
16 Comments
 
LVL 41

Expert Comment

by:dlmille
ID: 37718399
I suppose I already did this for you in this workbook, on a related question. NVP, IRR, and BEP along with the chart are all dynamic ;)

See attached.

Dave
Workbench-v27-r2.xlsm
0
 

Author Comment

by:Bright01
ID: 37718636
Dave,

It's a little more complex........... The dynamic Time Horizon that you created works great. However, the formula modification that is required to adapt to the new, dynamic Horizon, that is set, is in cell AF3, AF4 and AF5:  

SAMPLE OF THE FORMULA IN AF3:

=IF(AA3=0,"",(NPV((1+AC3+AD3)^(1/12)-1,AI3:BR3)+AH3))

The mod. needs to be changing the end point or last month in the new Time Horizon, which is currently static "BR3"  (I had to set it up for 36 months).  When you set up the dynamic Months, the Months can change but I don't know how to get the formula, specifically BR3 (the end point) to automatically reflect the new, dynamic range.

EXAMPLE:

If I change the Time Horizon to 6 months, BR3 in the formula should be AN3.  If I change the Time Horizon to 12 months, BR3 in the formula should actually reflect AT3.  Only at 36 months in the Time Horizon, where your code fires and it gives me the 36 months correctly, is the formula actually correct as BR3.

Make sense?  Easy fix?

B.
0
 
LVL 41

Accepted Solution

by:
dlmille earned 500 total points
ID: 37720862
Ok - this is accomplished with 2 range names:

FinOffset=OFFSET(Scenario_Template!$AF3,0,3,1,COUNT(Scenario_Template!$AI3:$XFD3))
Note, you have to be positioned on cell AF3 when this is created.  Note also, the lack of dollar signs before the 3 in $AF3 and $AI3:$XFD3.  That means, when this formula is used on another row, that that row number will change in the formula.

The formula creates an offset 3 columns to the right, 1 row high, and as many wide as data is found from AI to XFD

This is used for the NPV and IRR calc.

The BEPOffset is a little different, as it references the range one row above to get its range:

BEPOffset=OFFSET(Scenario_Template!$AF5,-1,3,1,COUNT(Scenario_Template!$AI4:$XFD4))
This was created while the cursor was sitting on AF5.

After setting a time horizon, if you hit F2 on one of these formulas, then click on the range name, e.g., finOffset, then hit F9, you'll see all the CF's in that range - so you can see for 6 months, there are 6 numbers in there, 24, there would be 24, etc.

When new scenario sheets are created, these range names will be created for that respective sheet as well.

See attached.

Cheers,

Dave
Workbench-v27-r3.xlsm
0
 

Author Comment

by:Bright01
ID: 37720987
Dave,

Before I test and integrate;  does this work both for the "new scenarios" (replicas of "Scenario_Template") as well as the "new use cases" - (replicas of use cases within new scenarios)?

B.
0
 
LVL 41

Expert Comment

by:dlmille
ID: 37720996
Yes - but it won't work with scenarios that were created BEFORE this range name was added.

I tested it after having created it in the Scenario_Template tab, then made a copy of the Scenario_Template tab to create Scenario1.  I then added Use Cases and tested that.

Works fine from my end.

Dave
0
 

Author Comment

by:Bright01
ID: 37721306
Brilliant!  

So just as I integrate this..... is the FinOffSet that is created in the Named Range File automatically generated for the Scenario1 Tab, or do I have to put that in as a Named Range addition?

B.
0
 
LVL 41

Expert Comment

by:dlmille
ID: 37721314
Nope.  As long as the name exists in the Scenario_Template tab, then when you create new scenarios, it will get replicated to the new tab for use, there.

Dave
0
 
LVL 41

Expert Comment

by:dlmille
ID: 37721338
I tried it at the WORKBOOK level scope, and it didn't work the way I'd imagined, so these names are at the Worksheet level, so they get created in Scenario_Template.  When a new scenario is generated, then the new range names are created on the new Scenario# sheet as well.

Dave
0
How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

 

Author Comment

by:Bright01
ID: 37721377
So I don't need to replicate the FinOffSet for Scenario1; just the Scenario_Template....

Got it.

B.
0
 

Author Closing Comment

by:Bright01
ID: 37721708
Great Work Dave.....tough formula.  Testing it going forward; but integrated well.

Thanks again,

B.
0
 

Author Comment

by:Bright01
ID: 37724447
Dave,

When I replicate a use case, I get Excel asking me if I want to use the FinOffset and BEPOffset each time I add one.  Is there a line of code that makes that automatic?

Thank you,

B.
0
 
LVL 41

Expert Comment

by:dlmille
ID: 37725468
Add

Application.DisplayAlerts = False

Before the routine that replicates scenario template does the copy
0
 

Author Comment

by:Bright01
ID: 37725538
Dave,

Thank you!  Works.   Hey Big Congrats on your point standing!  I don't know what you guys win for your work but it should be great.

B.
0
 
LVL 41

Expert Comment

by:dlmille
ID: 37725622
Tks

It's just points so mostly recognition or ego

Tshirts at certain milestones and if you lead for the year some trophy or something

I do it for the learning, community service, comradre, and I guess recognition in that order

I've learned so much it's really made my job easier at work and my first passion/career was in IT and my hope is to retire with capability so I can earn a few and have fun at the same time

Dave
0
 

Author Comment

by:Bright01
ID: 37725686
Well, I would invite you to come visit the East Coast and the Mountains of NC whenever you want and I'll put you and family up.  Within a couple of years of retirement myself.......and really enjoy EE and the personalities.

B.
0
 
LVL 41

Expert Comment

by:dlmille
ID: 37725708
I'm headed to a meeting in Cambridge in June

About the closest but maybe DC in the Fall
0

Featured Post

Better Security Awareness With Threat Intelligence

See how one of the leading financial services organizations uses Recorded Future as part of a holistic threat intelligence program to promote security awareness and proactively and efficiently identify threats.

Join & Write a Comment

Drop Down List with Unique/Distinct Values (enhancing the Combo-Box with a few steps and a little code) David miller (dlmille) Intro Have you ever created a data validation list from a database field or spreadsheet column (e.g., Zip Codes or Co…
INDEX and MATCH can be used to great effect to replace HLOOKUP and VLOOKUP as it does not have the limitation of needing the data to be sorted so that the reference value is in the first column or row. It also has the ability to perform a bi-directi…
This Micro Tutorial will demonstrate on a Mac how to change the sort order for chart legend values and decrpyt the intimidating chart menu.
This Micro Tutorial demonstrates in Microsoft Excel how to consolidate your marketing data by creating an interactive charts using form controls. This creates cool drop-downs for viewers of your chart to choose from.

744 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

8 Experts available now in Live!

Get 1:1 Help Now