Hi Richard,
Quite happy to have the error message rather than dive back into the formula
Some examples;
{=IF($H12="Average",IF(OR(Today<K$11,ISERROR(AVERAGE(K11:K$12))),"-",AVERAGE(K11:K$12)),IF($H12="","",IF(OR(Today < K$11,L$11 < $C12,K$11 > $D12),"-",IF($A$8="VZB",1-(SUM(IF((Priority=1)*(CircID=$A12)*(OutageCauseTag="VZB")*(DateClosed>=K$11)*(DateClosed < L$11),OutTimeMins)/(Dashboard!D$33*24*60))),IF($A$8="Customer",1-(SUM(IF((Priority=1)*(CircID=$A12)*(OutageCauseTag <> "VZB")*(DateClosed >= K$11)*(DateClosed < L$11),OutTimeMins)/(Dashboard!D$33*24*60))),1-(SUM(IF((Priority=1)*(CircID=$A12)*(DateClosed >= K$11)*(DateClosed < L$11),OutTimeMins)/(Dashboard!D$33*24*60))))))))}
=IF($H12="","",IF(OR(Today < J$11,K$11 < 'Lookup Data'!$J2,J$11 > =IF('Lookup Data'!$K2="","",'Lookup Data'!$K2)),"-",IF($H12="Total",SUM(J11:J$12),IF(OR($B12="IP",$B12="DSL",$B12="Ethernet"),MIN((ROUNDUP(SUMPRODUCT(--(CircID=$A12),--(Priority=1),--(OutageCauseTag="VZB"),--(DateClosed >= J$11),--(DateClosed < K$11),--(DateClosed >= 'Lookup Data'!$J2),--(DateClosed < IF('Lookup Data'!$K2="","",'Lookup Data'!$K2)),OutTimeMins)/60,0)*$G12)/30,$G12),$G12*VLOOKUP(SUMPRODUCT(--(CircID=$A12),--(Priority=1),--(OutageCauseTag="VZB"),--(DateClosed >= J$11),--(DateClosed < K$11),--(DateClosed >= 'Lookup Data'!$J2),--(DateClosed < IF('Lookup Data'!$K2="","",'Lookup Data'!$K2)),OutTimeMins),SLA,MATCH($C12,Percent,0)+2,1)))))
As I say, once the user uploads there previous version into the file or imports some data into a new report the error is gone, its just the way I've used VBA to dynamically sey my Named Ranges.