动态更改 excel sumifs 中的列

dynamically change column in excel sumifs

我通过 SUMIFS 公式在 excel 中创建了一个动态 table:

=SUMIFS(data!$D:$D,data!$B:$B,Sheet2!B,data!$C:$C,Sheet2!B,data!$A:$A,Sheet2!$A4)

这是 table 的样子:

虽然数据看起来像:

现在我从订单总计列中选取值。我想要做的是在单元格 B1 上插入一个下拉列表,以动态地 select 从我想要获取数据的列中。

有没有办法将它添加到我的公式中?

好的,因为订单总计在 D 列中,我将用间接法替换第一部分求和,我假设数据在数据工作表以及您想要的单元格 B1 中下拉列表:=SUMIFS(indirect("data!$"&data!B1&":$"&data!B1),data!$B:$B,Sheet2!B,data!$C:$C,Sheet2!B,data!$A:$A,Sheet2!$A4)

间接的作用是将字符串信息与单元格信息连接(使用“&”符号),然后将其更改为单元格引用。如果您将间接内的所有内容复制到另一个单元格(前面有“=”),它将 return 您原来的 data!$D:$D,如果您将 "D" 放在单元格 B1 中。当使用间接公式时,这将成为 sumifs 公式的单元格引用。如果您将数据工作表上的单元格 B1 更改为 "E",公式将在间接计算中计算为 data!$E:$E,这意味着 sumifs 公式引用列 E.