EXCEL引用上一个可见行中的单元格

Rik*_*iko 5 excel vba excel-vba excel-formula excel-2010

如何从过滤范围中引用上一个可见行中同一列中的单元格?

Gar*_*ent 7

如果我们准备这样做,这很容易.

假设我们有以下数据:

在此输入图像描述

第一步是引入"帮助"列.在E2中我们输入:

=IF(SUBTOTAL(3,A2:A2)=0,MIN($E$1:E1)-1,SUBTOTAL(3,$A$2:$A2))
Run Code Online (Sandbox Code Playgroud)

并复制下来:

在此输入图像描述

现在关于"助手"栏目的一个很酷的事情是无论你如何过滤它,它总是显示一个简单的顺序序列....让我们过滤爱丽丝

在此输入图像描述

这意味着任何细胞都可以:

  1. 检索E列中的值
  2. 从中减去1
  3. Index()/ Match()公式中使用此值可以检索上一个可见行中的任何值

编辑#1:

要回答您的问题,请在C5中输入:

=INDEX($C$2:$C$21,MATCH(E5-1,$E$2:$E$21,0))
Run Code Online (Sandbox Code Playgroud)

并且没有过滤C5将显示$ 391.00
但是使用Alice过滤C5将显示$ 446.00