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

问题描述 投票:5回答:2

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

excel excel-vba excel-formula excel-2010 vba
2个回答
8
投票

这非常容易如果我们准备这样做。

说我们有类似的数据:

<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9KSm5MTy5wbmcifQ==” alt =“在此处输入图像描述”>“ >>

第一步是引入“帮助器”列。在E2

中,输入:
=IF(SUBTOTAL(3,A2:A2)=0,MIN($E$1:E1)-1,SUBTOTAL(3,$A$2:$A2))

并抄下:

<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS8wclF6Qi5wbmcifQ==” alt =“在此处输入图像描述”>

现在,关于“ helper”列的最酷的事情是,无论如何过滤,它总是显示一个简单的顺序序列.... let的Alice

过滤器>

“在此处输入图像描述”

这意味着任何单元格都可以:

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

    EDIT#1:

    要回答您的问题,请在C5

中输入:
=INDEX($C$2:$C$21,MATCH(E5-1,$E$2:$E$21,0))

并且没有过滤C5将显示$ 391.00

,但是使用Alice
过滤C5将显示$ 446.00] >>

阅读此书时,我寄予了很高的期望,初试非常有希望。但是-如果我在一个10万行的表上放掉这个公式,那几乎会杀死我的excel,并且要花几乎永远(例如半小时左右)才能恢复。不幸的是,它的使用非常有限。

但是-感谢您的见解;)Eleusius


0
投票

阅读此书时,我寄予了很高的期望,初试非常有希望。但是-如果我在一个10万行的表上放掉这个公式,那几乎会杀死我的excel,并且要花几乎永远(例如半小时左右)才能恢复。不幸的是,它的使用非常有限。

但是-感谢您的见解;)Eleusius

© www.soinside.com 2019 - 2024. All rights reserved.