【问题标题】:Excel SUMIFS - Multiple ArrayExcel SUMIFS - 多个数组
【发布时间】:2017-08-29 00:31:49
【问题描述】:

我尝试在单个数组中包含 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中的两个数组都不能正常工作?

【问题讨论】:

  • 你是对的。我在编辑时不小心省略了它。我已经更新了

标签: arrays excel-formula sumifs


【解决方案1】:

您可以为其中一个列表使用行数组,为另一个列表使用列数组。试试这个:

=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" 适用于所有情况。

这两个列表不需要具有相同的基数。

这种技术不能推广到两个以上的列表。如果您有第三个标准列表,则需要以不同的方式进行。

【讨论】:

    猜你喜欢
    • 2014-02-17
    • 1970-01-01
    • 2015-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-10
    • 1970-01-01
    相关资源
    最近更新 更多