如何在 excel 中将 subtotal 与 sumproduct 结合使用


您可以使用以下公式在 Excel 中组合SUBTOTALSUMPRODUCT函数:

 =SUMPRODUCT( C2:C11 ,SUBTOTAL(9,OFFSET( D2:D11 ,ROW( D2:D11 )-MIN(ROW( D2:D11 )),0,1)))

这个特定的公式允许您对范围C2:C11和范围D2:D11的值的乘积求和,即使该单元格范围已以某种方式过滤后也是如此。

下面的例子展示了如何在实践中使用这个公式。

示例:如何在 Excel 中将 SUBTOTAL 与 SUMPRODUCT 结合使用

假设我们有以下数据集,其中包含有关两个不同杂货店各种产品的销售信息:

接下来,我们过滤数据以仅显示 Store 列中值为B的行。

为此,请突出显示单元格区域A1:D11 。然后单击顶部功能区的“数据”选项卡,然后单击“过滤器”按钮。

然后单击Store旁边的下拉箭头,并确保仅选中B旁边的框,然后单击OK

数据将被自动过滤以仅显示 Store 列等于B的行:

如果我们尝试使用SUMRPODUCT()函数对 Sales 和 Price 列值的乘积求和,它实际上会返回原始数据集中这两列的乘积之和:

相反,我们需要使用以下公式:

 =SUMPRODUCT( C2:C11 ,SUBTOTAL(9,OFFSET( D2:D11 ,ROW( D2:D11 )-MIN(ROW( D2:D11 )),0,1)))

以下屏幕截图显示了如何在实践中使用该公式:

此公式返回正确的总和77.5

我们可以通过手动计算 Sales 和 Price 列之间的值的乘积之和来确认这是正确的:

销售额和价格之间的值的乘积之和: (3*2) + (12*2.5) + (5*3.5) + (8*3) = 77.5

其他资源

以下教程介绍了如何在 Excel 中执行其他常见操作:

如何删除 Excel 中筛选的行
如何在 Excel 中计算筛选的行数
如何在 Excel 中对筛选后的行求和

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注