SUMIF 动态更改求和列
Posted
技术标签:
【中文标题】SUMIF 动态更改求和列【英文标题】:SUMIF dynamically change summing column 【发布时间】:2014-11-06 21:06:45 【问题描述】:我正在使用 SUMIFS 并希望 sum_range 根据我的列名称动态更改。
我有一张大约有 100 列的表格。假设其中一列是Paid_BC_items
。我想要一个公式来查找 Paid_BC_items
所在的列,并以某种方式将其插入到 Sheet4!J:J
部分所在的 SUMIF 中。我这里还有一些其他标准是固定的,因此它们不需要是动态的。
=SUMIFS(Sheet4!J:J,Sheet4!$C:$C,Sheet2!$D$3,Sheet4!$E:$E, Sheet2!$C6, Sheet4!$G:$G, Sheet2!$D6)
例如,如果我将列标题更改为其他我想要 SUMIF 的内容,则在大表中查找该列并将其返回。
我知道它与索引、匹配和间接有关,但我现在无法弄清楚。
年 周 支付的总订单数_BC_items Free_BC_items 2014 1 971 147 104 2014 2 1565 339 213 2014 3 1289 391 209 2014 4 1171 389 228 2014 5 1163 375 240 2014 6 1298 405 330 2014 7 1233 404 292【问题讨论】:
【参考方案1】:尝试使用它代替总和范围
INDEX(Sheet4!A:DZ,0,MATCH("Paid_BC_Items",A1:DZ1,0))
当您使用带有 0 的 INDEX 作为行参数时,您将获得整列......并且 MATCH 根据标题选择正确的列
整个公式变为:
=SUMIFS(INDEX(Sheet4!A:DZ,0,MATCH("Paid_BC_Items",A1:DZ1,0)),Sheet4!$C:$C,Sheet2!$D$3,Sheet4!$E:$E, Sheet2!$C6, Sheet4!$G:$G, Sheet2!$D6)
【讨论】:
【参考方案2】:使所有列标题变得动态并能够拖动
MATCH(indirect(d$1),A1:DZ1,0))
【讨论】:
以上是关于SUMIF 动态更改求和列的主要内容,如果未能解决你的问题,请参考以下文章
Oracle SQL 在字段更改时运行总计(仅在字段更改时对列求和)