Can this complex rate-of-return formula be simplified?

Mr. Snrub

Board Regular
Joined
May 22, 2005
Messages
150
Office Version
  1. 365
Platform
  1. Windows
Code:
=IF(
  ROW()-ROW(Table1[#Headers])<12,
  NA(),
  (1+INDEX([Monthly RR],ROW()-ROW(Table1[#Headers])))*
  (1+INDEX([Monthly RR],ROW()-ROW(Table1[#Headers])-1))*
  (1+INDEX([Monthly RR],ROW()-ROW(Table1[#Headers])-2))*
  (1+INDEX([Monthly RR],ROW()-ROW(Table1[#Headers])-3))*
  (1+INDEX([Monthly RR],ROW()-ROW(Table1[#Headers])-4))*
  (1+INDEX([Monthly RR],ROW()-ROW(Table1[#Headers])-5))*
  (1+INDEX([Monthly RR],ROW()-ROW(Table1[#Headers])-6))*
  (1+INDEX([Monthly RR],ROW()-ROW(Table1[#Headers])-7))*
  (1+INDEX([Monthly RR],ROW()-ROW(Table1[#Headers])-8))*
  (1+INDEX([Monthly RR],ROW()-ROW(Table1[#Headers])-9))*
  (1+INDEX([Monthly RR],ROW()-ROW(Table1[#Headers])-10))*
  (1+INDEX([Monthly RR],ROW()-ROW(Table1[#Headers])-11))-1
 )

Can this super-complex, memory-intensive formula be simplified? Basically what this does is calculate the rates of return for the current row, combined with each of the previous month's rates for the past year (so there are twelve in all). So Excel needs values of an adjacent cell plus eleven rows back. Is there an easier way to do this? I especially don't like the overuse of ROW() functions just to get the cell n-number of rows upward.
 

Excel Facts

How can you automate Excel?
Press Alt+F11 from Windows Excel to open the Visual Basic for Applications (VBA) editor.
Try this:

=IF(ROW()-ROW(Table1[#Headers])<12,NA(),PRODUCT(1+[@[Monthly RR]]:INDEX([Monthly RR],ROW()-ROW(Table1[#Headers])-11))-1)

and confirm with Control+Shift+Enter.

And I agree, one of the most frustrating things about the table nomenclature is that there's no good way to reference a row above or below without some odd ROW construct.
 
Upvote 0

Forum statistics

Threads
1,224,817
Messages
6,181,148
Members
453,021
Latest member
Justyna P

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