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

时间:2014-11-17 17:41:47

标签: arrays excel

我正在尝试将两个数组相乘并得到#Value错误。

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

列E用作基于末尾特定字符串现有的布尔数组

列D用于查找列A,其中存在相同的ID集

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

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

A   B     C     D   E      
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

非常感谢

西蒙

1 个答案:

答案 0 :(得分:3)

您需要先取消引用&#34;来自OFFSET的返回(它可以同样返回单元格引用以及单元格,具体取决于所涉及的构造),其中N是一个适当的函数,即:< / p>

=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))

此致