
我需要检查表格中的某一列是否被过滤。数据类型列的值为Text
。我想使用工作表公式,而不是VBA macros
。
像这样:
=If(IsFiltered(Table1[Field1]),A1,A2)
答案1
您可以COUNTA
与SUBTOTAL
以下用途一起使用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")