两个数组相乘时出现Excel错误

我想乘两个数组,我得到一个#Value错误。

只是简要说明表中的内容:

列E被用作基于最后一个特定string的存在的布尔数组

列D用于查找存在相同ID集合的列A.

最后,列B包含基于从列E导出的布尔向量添加的量

一步一步(使用F9)所有片断评估正确,但整个公式没有。

ABCDE ID Amounts ID Code 9 100 1 PT91 8 2000 2 PT92 7 3000 3 PT93 66 4000 4 PT94 5 5000 5 PT95 4 5000 66 PT96 3 5000 7 PT97 2 5000 8 PT93 1 5000 9 PT99 

给出错误的公式是:

{= MMULT(移调(IF(RIGHT(E3:E11,2)= “93”,1,0)),偏移(B2,MATCH(D3:D11,A3:A11,0),0))}

预期的结果是7000

非常感谢

西蒙娜

您需要首先从OFFSET(它可以同样返回单元格引用以及单元格 ,取决于所涉及的构造)“退回”返回,对于这里N是适当的函数,即:

 =MMULT(TRANSPOSE(IF(RIGHT(E3:E11,2)="93",1,0)),N(OFFSET(B2,MATCH(D3:D11,A3:A11,0),0))) 

您也可以使用较短的非易失性和非数组来获得相同的结果:

 =SUMPRODUCT(0+(RIGHT(E3:E11,2)="93"),SUMIF(A3:A11,D3:D11,B3:B11)) 

问候