我可以使用公式确定单元格是否不在隐藏的行/列中吗?
我知道有一些相关的公式,例如小计和总计,但我不太理解。小计似乎只在乎过滤的行,而不是通常在乎的隐藏行。
我正在寻找类似的东西:
=ISVISIBLE(A1)
Run Code Online (Sandbox Code Playgroud)
是否可以组合达到该功能的公式?
没有内置公式。但是,您可以使用VBA /编写自己的函数来实现此目的。
Function isvisible(cellname As String)
isvisible = Not (Worksheets("Sheet1").Range(cellname).EntireColumn.Hidden Or Worksheets("Sheet1").Range(cellname).EntireRow.Hidden)
End Function
Run Code Online (Sandbox Code Playgroud)
然后,您可以键入=isvisible("A1")一个单元格以获取结果。
如果您不喜欢双引号,这是另一种方法:
Function isvisible(rng As Range)
isvisible = Not (rng.EntireColumn.Hidden Or rng.EntireRow.Hidden)
End Function
Run Code Online (Sandbox Code Playgroud)
然后,您可以键入=isvisible(A1)一个单元格以获取结果。
如果通过 subtotal() 引用此选项:
= IF( SUBTOTAL(103,A2)=1, "VISIBLE", "HIDDEN (or blank)" )
Run Code Online (Sandbox Code Playgroud)
从这篇文章......然后这就是你的答案。不能在表格外使用它主要意味着您的数据应该存储在表格中,而不是该公式存在严重限制。
我会说 - 为您的数据创建表。无论您是否使用 VBA,使用表格总是值得的。我还没有遇到过使用表格而不是原始范围的工作簿。即使它是一个小文档,它最终也会更快。