I'm not a huge fan of using OFFSET for Dynamic Named Ranges and always use INDEX in preference. OFFSET is a volatile function, whereas, INDEX is not.
I used:
Formula:
=Tables!$B$3:INDEX(Tables!$C:$C,COUNTA(Tables!$B:$B))
and:
Formula:
=Tables!$E$3:INDEX(Tables!$F:$F,COUNTA(Tables!$E:$E))
I ran your Static test 5 times: 46%, 41%, 49%, 48% and 53%
I ran your Dynamic test 5 times: 101%, 101%, 101%, 100% and 100%
And finally, I ran my version of your Dynamic test 10 times: 3%, 2%, 3%, 2%, 3%, 2%, 3%, 2%, 3%, 2%
The percentage will, I guess be affected by what other workbooks are open at the time.
Your code leaves the workbook/Excel needing to re-calculate ... I'm not sure if that is intentional.
I have attached a copy of the modified workbook.
Regards, TMS
Bookmarks