按动态条件列表求和

时间:2018-10-23 13:19:41

标签: excel

我正在尝试将函数“ SUMIFS”与“动态标准”一起使用。
参见下表。

表概述 单元格B2中,我得到了要计算出的公式: SUMIFS 表数据 中的所有水果( 表标准 ,列A:A)。 如果有新产品,例如苹果,我想在A4的表格标准中将其添加为“苹果”,我的概述应将苹果的数量添加到水果中。

有什么想法吗?


表格“概述”

|_|        A        |        B        |    
|1| **Subject**        **Count**
|2| Fruits               10
|3| Vegtables            20
|4|

表格“条件”

|_|        A        |        B        |
|1| **Fruits**        **Vegtables**    
|2| Banana               Carrot        
|3| Kiwi                 Broccoli      
|4|

表格“数据”

|_|        A        |        B        |
|1| **Product**        **Count**    
|2| Banana               2        
|3| Kiwi                 3      
|4| Banana               5
|5| Carrot               5
|6| Broccoli            15

1 个答案:

答案 0 :(得分:2)

使用:

=SUMPRODUCT(SUMIFS(B:B,A:A,INDEX($D$2:$E$2:INDEX(D:E,MATCH("zzz",INDEX(D:E,0,MATCH(G2,$D$1:$E$1,0))),MATCH(G2,$D$1:$E$1,0)),0,MATCH(G2,$D$1:$E$1,0))))

这是动态的,将允许将项目添加到两个输入列表中,而无需更改公式并仍保持最少的迭代。 SUMPRODUCT强制对SUMIFS标准进行迭代,尽管我们可以将完整的列放入其中,但它会迭代104万次,这会减慢计算速度。

enter image description here


enter image description here


现在,如果它们是Excel中真正的结构化表,则可以简化该表,因为该表会限制迭代次数:

=SUMPRODUCT(SUMIFS(Data[Count],Data[Product],INDEX(Criteria,0,MATCH([@Subject],Criteria[#Headers],0))))

enter image description here enter image description here