[英]Excel SUMIFS - Multiple Array
我尝试将SUMIFS包含在单个数组中并且工作正常:
=SUM(SUMIFS(Sheet3!H:H,Sheet3!G:G,"X",Sheet3!E:E,"SA",Sheet3!D:D,{"A","B","C"}))
当我尝试在下面包含第二个数组时,它只给出{{X“,”Y“,”Z“}中的第一个/最后一个项目
=SUM(SUMIFS(Sheet3!H:H,Sheet3!G:G,{"X","Y","Z"},Sheet3!E:E,"SA",Sheet3!D:D,{"A","B","C"}))
我能解决的唯一解决方法是将公式分成3个块({“X”,“Y”,“Z”}中的每个项目)。
还有其他工作吗? 或者SUMIFS中的两个数组无法正常工作?
您可以为其中一个列表使用行数组,为另一个列表使用列数组。 尝试这个:
=SUM(SUMIFS(Sheet3!H:H, Sheet3!G:G, {"X","Y","Z"},
Sheet3!E:E,"SA",Sheet3!D:D,{"A";"B";"C"}))
' ^ ^
内部SUMIFS
是两个数组的交叉乘积; 一个矩阵,其中每个条目都是与相应的行和列元素匹配的“sumif” :
X,A Y,A Z,A
X,B Y,B Z,B
X,C Y,C Z,C
然后外部SUM
将所有元素相加。 因此,您将得到每个字段与其条件数组的任何元素匹配的总和:
G:G is any of {"X","Y","Z"} and D:D is any of {"A";"B";"C"}
当然,另一个单一条件E:E="SA"
适用于所有情况。
这两个列表不需要具有相同的基数。
此技术不能推广到两个以上的列表。 如果您有第三个标准列表,则需要以不同的方式继续。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.