Hi,
I am trying to get an array formula (in tab 2 in example file) to return a part of a source table only (tab 1 in example file). I wanted to return just the month of May, which comes from rows 15-21 in the source data), but in a way that allows me to insert rows above, below or within the source table (anywhere in the year) without having to change the array manually each time. This would allow me to have several variations of the report created without manually re-typing all of the array formulas each time I made a change in the source data 9there are quite a lot of them).
In the example spreadsheet attached, in tab 2, the table of array formulas does accomplish this when the changes to the source data are within the desired Month (May), or after it (by addressing the range of rows numbered 15-21 of the source data). I do have to manually refresh the array by dragging the row of formulas in the first row of the array table down each time a change occurs (to recreate the array including the new rows). However, If I insert new rows in months before the target month (in April for example, which is above row 15 of the source data), the month of May will then start further down than row 15. This means that the range of rows used in the array formula will no longer be correct (May might then occupy rows 17-23 for example).
I was hoping that it was somehow possible to have the array refer to a fixed part of a table in the source data so that changes in the source data were possible. I tried using the 'INDIRECT' function when addressing the array formula, and it did work (it locks the array to the original source cells even if new rows are added), but I was not confident that the INDIRECT function was the right approach (not sure how long it would link to the original cells, and I would have no way to check over time where the original cell was).
Then I wondered if the array should refer to a named range for the month of May, which would presumably move with the month of May as new rows were added any where in the source data. I tried this, but I am not familiar with named ranges, and it did not work for me as part of the array though I may not have used the named ranges correctly).
Any suggestions would be appreciated.
Many thanks
Bookmarks