【问题标题】:How to get cells value from previous visible row in excel formulas如何从excel公式中上一个可见行中获取单元格值
【发布时间】:2015-01-20 17:01:10
【问题描述】:

是否可以在Excel 中编写公式,根据上一个可见行计算值?

通过在列上应用Filter,前一个可见行会发生变化,但通常的形式不考虑前一行的可见性,因此应用过滤器不会改变结果。例如:

让我们的电子表格单元格的原始值是:

   A | B | C | D 
1: 5   3   1
2: 9   1   1
3: 2   3   0  
4: 7   8   1   =A3-B4 equals 2-8=-6

现在假设我们对C 列进行过滤以隐藏第三行,所以我们有

   A | B | C | D 
1: 5   3   1
2: 9   1   1
4: 7   8   1   =A3-B4 is still equals -6 but I want to get: 9-8=1

有没有可能得到这样的公式?非常感谢。

【问题讨论】:

  • 您愿意使用 Helper 列吗??
  • @Ormoz 你试过offset吗?

标签: excel filter formulas


【解决方案1】:

试试这个公式

=LOOKUP(2,1/SUBTOTAL(3,OFFSET(A$1,ROW(A$1:A3)-ROW(A$1),0)),A$1:A3)-B4

SUBTOTAL/OFFSET 部分为 A 列中的每个值返回 1 或零,具体取决于它是否可见,LOOKUP 找到最后一个 1(相当于最后一个可见值)并给出该值。

【讨论】:

  • 谢谢!这是一个表格版本,用于获取标题为“A”的列的先前可见和非空白值:=IFERROR(LOOKUP(2,1/SUBTOTAL(3,OFFSET([[#Headers],[A]],1+ROW(OFFSET([[#Headers],[A]],1,0,ROW()-ROW([A])))-(ROW([[#Headers],[A]])+1),0)),OFFSET([[#Headers],[A]],1,0,ROW()-ROW([A]))),[@A])(对于那些不知道的人,您可以通过按 ctrl-t 将范围转换为表格。 )
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-13
相关资源
最近更新 更多