给出以下已过滤表:
TYPE NUM
A 3
A 3
A 3
B 5
B 5
我需要找到列NUM
的总和而不包含重复的值。
我目前根据另一篇文章有以下解决方案:
=SUMPRODUCT(B2:B6/COUNTIFS(A2:A6,A2:A6))
在这种情况下,结果为8
,这在没有应用过滤器时是正确的。
现在,如果我将列过滤为仅在TYPE
中显示 A ,它将仍然向我显示8
。我遇到的问题是,我需要根据可见量调整总和。将过滤器仅显示为 A 后,我应该得到3
,如果我过滤以显示 B ,则应该只有5
。我已经尝试过AGGREGATE
和SUBTOTAL
,却一无所获。
是否可以将上述公式仅调整为可见个单元格?
谢谢
答案 0 :(得分:1)
因此,请尝试以下操作:
下拉验证选择A或B,但是您可以更改它。 公式是:
=SUMIFS(B2:B6,A2:A6,D2)/COUNTIFS(A2:A6,D2)
编辑,根据重新阅读的问题,我认为这可能更接近:
答案 1 :(得分:1)
因此,这是一个相当复杂的公式,涉及SUMPRODUCT()
,SUBTOTAL()
和OFFSET()
。更多信息here
要根据您的情况实施此操作,您将获得:
=SUMPRODUCT((B2:B6/COUNTIFS(A2:A6,A2:A6))*(SUBTOTAL(3,OFFSET(B2,ROW(B2:B6)-MIN(ROW(B2:B6)),0))))
另一个选择是(在您的情况下,如果每个条件的值都相同)
=SUMPRODUCT((A2:A6<>A3:A7)*(B2:B6)*(SUBTOTAL(3,OFFSET(B2,ROW(B2:B6)-MIN(ROW(B2:B6)),0))))
在我的示例中,我将同时过滤掉A和B
用于动态范围的公式如下:
=SUMPRODUCT((B2:INDEX(B:B,COUNTA(B:B))/COUNTIFS(A2:INDEX(A:A,COUNTA(A:A)),A2:INDEX(A:A,COUNTA(A:A))))*(SUBTOTAL(3,OFFSET(B2,ROW(B2:INDEX(B:B,COUNTA(B:B)))-MIN(ROW(B2:INDEX(B:B,COUNTA(B:B)))),0))))