excel - 按动态标准列表求和
问题描述
我正在尝试将函数“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
解决方案
利用:
=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))))
推荐阅读
- failovercluster - 将 Hypervisor 添加回故障转移集群
- ios - 如何使 Xcode segues 不可逆?
- android - Constraint Layout中对多个视图进行分组,只设置一个点击监听
- javascript - eventemitter.emit 方法不会在节点 js 中返回
- c++ - “lock cmpxchg”如何在汇编中工作?
- javascript - HTML 表单输出和验证
- python - 常微分方程 - 在python,jupyter中具有未知初始值的Odeint
- c# - 不能在具有 DependencyService 的平台特定项目中使用多个委托?
- string - 在 Lua 字符串模式中查找填充的十六进制 (0xXX)
- swift - SwiftUI 如何将数据传递给 ObservedObject 函数