Maybe, I said this in post number 3.
The problem (I don't think it is a problem really) with arrays and sumproduct is that the ranges have to be the same size as they are processed cell by cell and in one of the ranges doesn't have (say) cell 617 then the calculation falls over.
Having said that you are probably best including an extra column with an array formula determining if each row contains someting from your keyrange and then running a sumproduct to get your result based on this.