In Excel 2007, how can I SUMIFS indices of multiple columns from a named range?

Shimmin picture Shimmin · Apr 18, 2013 · Viewed 11.5k times · Source

I am analysing library statistics relating to loans made by particular user categories. The loan data forms the named range LoansToApril2013. Excel 2007 is quite happy for me to use an index range as the sum range in a SUMIF:

=SUMIF(INDEX(LoansToApril2013,0,3),10,INDEX(LoansToApril2013,0,4):INDEX(LoansToApril2013,0,6))

Here 10 indicates a specific user category, and this sums loans made to that group from three columns. By "index range" I'm referring to the

INDEX(LoansToApril2013,0,4):INDEX(LoansToApril2013,0,6)  

sum_range value.

However, if I switch to using a SUMIFS to add further criteria, Excel returns a #VALUE error if an index range is used. It will only accept a single index.

=SUMIFS(INDEX(LoansToApril2013,0,4),INDEX(LoansToApril2013,0,3),1,INDEX(LoansToApril2013,0,1),"PTFBL") 

works fine

=SUMIFS(INDEX(LoansToApril2013,0,4):INDEX(LoansToApril2013,0,6),INDEX(LoansToApril2013,0,3),1,INDEX(LoansToApril2013,0,1),"PTFBL")

returns #value, and I'm not sure why.

Interestingly,

=SUMIFS(INDEX(LoansToApril2013,0,4):INDEX(LoansToApril2013,0,4),INDEX(LoansToApril2013,0,3),1,INDEX(LoansToApril2013,0,1),"PTFBL")

is also accepted and returns the same as the first one with a single index.

I haven't been able to find any documentation or comments relating to this. Does anyone know if there is an alternative structure that would allow SUMIFS to conditionally sum index values from three columns? I'd rather not use three separate formulae and add them together, though it's possible.

Answer

glh picture glh · Apr 18, 2013

The sumifs formula is modelled after an array formula and comparisons in the sumifs need to be the same size, the last one mimics a single column in the LoansToApril2013 array column 4:4 is column 4.

The second to bottom one is 3 columns wide and the comparison columns are 1 column wide causing the error.