首页 > 解决方案 > 按动态标准列表求和

问题描述

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

表格概览单元格 B2 中,我得到了我试图弄清楚的公式:SUMIFS all Fruits ( Table Criteria , Column A:A) in Table Data。如果有一个新产品,例如苹果,我想在 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

标签: excel

解决方案


利用:

=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 万次,这会减慢计算速度。

在此处输入图像描述


在此处输入图像描述


现在,如果它们是 Excel 中真正的结构化表格,那么它可以被简化,因为表格会限制迭代:

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

在此处输入图像描述 在此处输入图像描述


推荐阅读