2017-06-09 62 views
1

我想包括SUMIFS單陣列,它工作正常:Excel中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中的兩個數組無法正常工作?

+0

你說得對。編輯時我偶然忽略它。我現在更新了它 – user3168017

回答

2

您可以爲其中一個列表使用行數組,另一個使用列數組。試試這個:

=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"適用於所有情況。

這兩個列表不需要具有相同的基數。

這種技術不能推廣到兩個以上的列表。如果您有第三個標準列表,則需要以不同的方式繼續。