如何在 Excel 中组合 SUBTOTAL 和 SUMIFS?

如何在 Excel 中组合 SUBTOTAL 和 SUMIFS?

在此处输入图片描述

我正在努力将 SUMIFS 公式与 SUBTOTAL 结合起来。正如您在图片中看到的,当 B 列中的值高于 50 且低于 500 时,我的 SUMIFS 公式(以黄色突出显示,公式粘贴为其下方的文本)会对 C 列求和。

我怎样才能编写一个 SUBTOTAL 公式,使其仅在 B 列值高于 50 且低于 500,并且仅属于 A 类时才对 C 列值求和(橙色,公式粘贴为其下方的文本)?

两个公式:=SUMIFS(C8:C25,B8:B25,"<"&B2,B8:B25,">"&B1) =SUBTOTAL(109,C8:C25)

答案1

您可以向 SumIfs 公式添加另一个条件

 =SUMIFS(C8:C25,B8:B25,"<"&B2,B8:B25,">"&B1,A8:A25,"A")

或者使用其他单元格引用代替文本“A”。

答案2

你可以尝试这个公式,但它似乎太长了

答案3

当您过滤数据集时,需要使用 SUBTOTAL,否则您也可以通过使用 SUMPRODUCT 来实现:

在此处输入图片描述

怎么运行的:

  • 在单元格 D16 和 E16 中输入条件。
  • 对单元格 F16 应用数据验证。
  • 使用列表并添加 A、B、C、D 和空白。
  • 单元格 G16 中的公式:

    =IF(ISBLANK(F16),"",SUMPRODUCT((A17:A32=F$16)*(B17:B32<E$16)*(B17:B32>D$16)*(C17:C32)))
    
  • 单元格 C36 中的公式:

    =IF(ISBLANK(F16),"",SUMPRODUCT(SUBTOTAL(9,OFFSET(C17:C32,ROW(C17:C32)-ROW(C17),0,1,1)),--(B17:B32>D16)))
    
  • 现在选择 A16:C32 并应用 B 类别过滤器。

  • 从 F16 的下拉菜单中选择类别 B。

您会发现这两个公式产生相同的结果。

在此处输入图片描述

根据需要调整公式中的单元格引用。

答案4

我能够找到答案。但为了防止其他人也想找到答案,我最终使用了以下公式。

=SUMPRODUCT(SUBTOTAL(109,OFFSET(C$8:C25,ROW(C$8:C25)-MIN(ROW(C$8:C25)),,1)),--($B$8:$B25>B1),--($B$8:$B25

相关内容