问题描述
如何对 2 个条件进行小计计数?
例如。根据屏幕截图:
我希望“G”列中“LONG”的小计计数和“Net P/L”应> 0
两个条件都需要满足
=“LONG”和“利润 >0”小计。
解决方法
修改后的答案
基于将过滤器应用于结果的需要,这是对您提供的公式的修改:
=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 列有公式,这将不起作用。
,试试这个公式:
=SUMPRODUCT((G3:G5000="LONG")*(V3:V5000>0)*SUBTOTAL(103,OFFSET(V2,ROW(V3:V5000)-ROW(V2),)))
SUBTOTAL 中的 103 将排除过滤的行。
这是一个数组公式。将其输入到单元格中,然后按[Ctrl]+[Shift]+[Enter] 创建数组公式。