2017-10-04 59 views
2

我想使用一个依赖于cellvalue条件数组的sumproduct公式。所以基本上我想总结一些之前发现的某些单元格的条目之一。带数组条件的sumproduct

我可以使条件数组工作,但不能通过单元格值。在例子中。

Let A1 = "a", A2 = "b", B1 = 1, B2 = 2 

然后

C1 = Sumproduct((A1:A100={"a"."b"})*(B1:B100)) = 3 

工作正常,但

C2 = Sumproduct((A1:A100=A1:A2)*(B1:B100)) = ERROR 

有没有什么办法可以把{ “A”, “B”}进入细胞或组细胞?

问候,并感谢您的帮助, 彼得

免责声明:我知道我可以简单的写:

C2 = Sumproduct((A1:A100=A1)*(B1:B100)) + Sumproduct((A1:A100=A2)*(B1:B100)) 

但我想有一个解决方案,还是很好的处理,如果10+条件在名单上。

回答

0

使用移调,使循环计算想到A1的:A2为按照不同的顺序是(... 方向?),比A1:A100和B1:B100。

=SUMPRODUCT((A1:A100=TRANSPOSE(A1:A2))*(B1:B100)) 

该公式是一个真正的数组公式,并且需要CSE。

+0

谢谢,这两个答案都适合我。我个人最喜欢的是Jeepeds。 –

2

使用COUNTIF:

=SUMPRODUCT(COUNTIF(A1:A2,A1:A100)*B1:B100) 
+0

此解决方案适用于我。如果您希望在某个单元格或某个范围内使用{“a”。“b”},则可以这样做。只需将上面@ tigeravatar公式中的'A1:A2'替换为最终用于指定值的范围。 – TotsieMae