包含 2 个条件的小计

Posted

技术标签:

【中文标题】包含 2 个条件的小计【英文标题】:Subtotal with 2 criteria 【发布时间】:2021-06-15 08:09:04 【问题描述】:

如何对 2 个条件进行小计?

例如。根据截图:

Excel Screenshot

我希望“G”列中“LONG”的小计和“Net P/L”应该> 0

两个条件都需要满足

=小计“多头”和“利润 >0”。

【问题讨论】:

【参考方案1】:

修改后的答案

根据需要将过滤器应用于结果,这是对您提供的公式的修改:

=SUM( (Table6[[#All],[LONG/SHORT]]="LONG")*(Table6[[#All],[NET P/L]]>0)*
          (SUBTOTAL(3,OFFSET(Table6[[#Headers],[LONG/SHORT]],
                             ROW(Table6[[#All],[LONG/SHORT]]) - MIN(ROW(Table6[[#All],[LONG/SHORT]] ) ),
                             0) ) ) )

我在条件中添加了(Table6[[#All],[NET P/L]]>0)*。您可以以相同的方式添加任意数量的附加过滤器。注意:我将 SUMPRODUCT 转换为 SUM 因为 sum 就足够了。

如果您使用 Excel 2013 或更低版本,则可能需要将其作为数组公式输入。 (CTRL SHIFT ENTER)

这是使用 OTHER 列过滤数据的结果:

以前的答案

您可以执行 COUNTIFS 或使用带有布尔条件的 SUM。

=COUNTIFS( V2:V26, ">0", G2:G26, "LONG" )

=SUM((V2:V26>0)*(G2:G26="LONG"))

如果您希望它表现得像 SUBTOTAL,那么您可以通过强制公式仅查看具有如下原始数据的单元格来模拟 SUBTOTAL:

=SUM((V2:V26>0)*(G2:G26="LONG")*NOT(ISFORMULA( V2:V26 )))

但如果第 V 列有公式,这将不起作用。

【讨论】:

感谢您的回复。但我希望使用 SUBTOTAL 公式仅计算过滤行的计数。你能帮帮我吗?? 我找到了这样一个标准的公式 -- =SUMPRODUCT((Table1[[#All],[Long/Short]]="LONG")*(SUBTOTAL(3,OFFSET(Table1[ [#Headers],[Long/Short]],ROW(Table1[[#All],[Long/Short]])-MIN(ROW(Table1[[#All],[Long/Short]])),0 )))) - 。但我想要 2 个 Crieteria 的小计(Long & P/L >0) 现在我明白你想要什么了——与其说是小计,不如说是对过滤的响应,这就解释了为什么要小计。这是一个有趣的问题,上面的公式非常聪明。我将发布一个我认为可行的修改版本。【参考方案2】:

试试这个公式:

=SUMPRODUCT((G3:G5000="LONG")*(V3:V5000>0)*SUBTOTAL(103,OFFSET(V2,ROW(V3:V5000)-ROW(V2),)))

SUBTOTAL 中的 103 将排除过滤的行。

这是一个数组公式。将其输入到单元格中,然后按[Ctrl]+[Shift]+[Enter]创建数组公式。

【讨论】:

以上是关于包含 2 个条件的小计的主要内容,如果未能解决你的问题,请参考以下文章

从小计组创建命名范围

Pandas 小计类似于 Excel

多个组的 jQuery 数据表总和/小计

jQuery tablesorter 仅对子行分组小计

like小计

SQL Server 条件小计查询