确定单元格是否可见的公式

use*_*776 2 excel

我可以使用公式确定单元格是否不在隐藏的行/列中吗?

我知道有一些相关的公式,例如小计和总计,但我不太理解。小计似乎只在乎过滤的行,而不是通常在乎的隐藏行。

我正在寻找类似的东西:

=ISVISIBLE(A1)
Run Code Online (Sandbox Code Playgroud)

是否可以组合达到该功能的公式?

Pin*_*ngu 5

没有内置公式。但是,您可以使用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)一个单元格以获取结果。


Fra*_*y_V 5

如果通过 subtotal() 引用此选项:

= IF( SUBTOTAL(103,A2)=1, "VISIBLE", "HIDDEN (or blank)" )
Run Code Online (Sandbox Code Playgroud)

从这篇文章......然后这就是你的答案。不能在表格外使用它主要意味着您的数据应该存储在表格中,而不是该公式存在严重限制。

我会说 - 为您的数据创建表。无论您是否使用 VBA,使用表格总是值得的。我还没有遇到过使用表格而不是原始范围的工作簿。即使它是一个小文档,它最终也会更快。