Stuart,
Well... it's taken me some time to work through this model... next time I'd advise you un-hide all the relevant formulae etc as next person may not be so accommodating ;-)
Firstly I would just say that you may find it worthwhile doing a refresher on absolute & relative referencing... it must have taken you a while to put this together, utilising absolutes ($ references) & relatives would have made your life a lot easier -- XL help is pretty good tutorial on this.
Have a look and see if the approach implemented in the attached model speeds up your calculation issues.
In short it seemed that if one went across all of your various Sumproducts the following columns on CSD_Data sheet were important:
F,H,I,K,M,N,O,P,Q,R,S,T
On CSD_Data I created a concatenation string of the values in each of the listed columns (^ delimiter) in Column W
(for column Q I did a little extra tweak to take the value and assign to the appropriate bucket (Less than 24, 24 to 29 etc...))
Once that was done I then went back and re-wrote every Sumproduct formula you had in your workbook and replaced them with COUNTIF utilising the above concatenation approach -- using wildcard (*) for those values that were irrelevant in terms of determining the appropriate count.... so if for ex. for one count only columns H & N were important (of those concatenated) you'd have a COUNTIF along the lines of:
=COUNTIF(CSD_Data!$W$8:$W$8181,"*^"&H Criteria&"^*^*^*^"&[i]N Criteria&"^*^*^*^*^*")
So for columns F,I,K,M,O,P,Q,R,S & T we use * to imply the value in that field is not important.
The above approach using lengthy strings and wildcard's is still not a great approach (if I had the time (& inclination!) I'd be inclined to create more smaller concatenation strings and use appropriately), however, I'm intrigued to see if it speeds performance for you.
Bookmarks