我们如何通过公式检查表格中的某一列是否被过滤

我们如何通过公式检查表格中的某一列是否被过滤

我需要检查表格中的某一列是否被过滤。数据类型列的值为Text。我想使用工作表公式,而不是VBA macros

像这样:

=If(IsFiltered(Table1[Field1]),A1,A2)

答案1

您可以COUNTASUBTOTAL以下用途一起使用COUNTA

=IF(COUNTA([Range])=SUBTOTAL(103,[RANGE],"No","Yes")

请注意,上面的参数值 103SUBTOTAL表示SUBTOTAL用作COUNTA计算公式。(见SUBTOTAL 文档了解详情。

在这些截图中,B9 包含上述公式,其中 [RANGE]=A2:A7。因此,此示例的公式为

=IF(COUNTA(A2:A7)=SUBTOTAL(103,A2:A7),"No","Yes")

未过滤:
未过滤

已过滤:
已过滤

要检查整个列,只需更改[RANGE]为有效的列引用。所以我的示例将更改为:

=IF(COUNTA(A:A)=SUBTOTAL(103,A:A),"No","Yes")

A 列未过滤
未过滤列

已过滤 A 列
已过滤

相关内容