Excel 如何过滤数据和更改单元格索引

Excel 如何过滤数据和更改单元格索引,excel,Excel,首先,单元格C9=A2。(参见图1左侧的情况) 接下来,当我过滤数据并排除“Team A”时,例如,(请参见的正确情况),我希望C9显示A1下的下一个顶部值 在这种情况下,这意味着C9需要显示A5的值。有没有一个公式我可以用呢?提前感谢。假设您的数据在A1到B19中,并且您希望在过滤列A后,将列A的第一个单元格放在单元格c9中 这是公式 =INDEX(A2:A19,MIN(IF(SUBTOTAL(3,OFFSET(A2,ROW(A2:A19)-ROW(A2),0)),ROW(A2:A19)-R

首先,单元格C9=A2。(参见图1左侧的情况)

接下来,当我过滤数据并排除“Team A”时,例如,(请参见的正确情况),我希望C9显示A1下的下一个顶部值


在这种情况下,这意味着C9需要显示A5的值。有没有一个公式我可以用呢?提前感谢。

假设您的数据在A1到B19中,并且您希望在过滤列A后,将列A的第一个单元格放在单元格c9中 这是公式

=INDEX(A2:A19,MIN(IF(SUBTOTAL(3,OFFSET(A2,ROW(A2:A19)-ROW(A2),0)),ROW(A2:A19)-ROW(A2)+1)))
Select c9 and copy the formula into formula bar and hit ctrl+shift+enter (since its array formula) it will select the first value of column A after applying filter.
注意:您可以调整A列的数据范围,例如,我选择了A2到A19

我使用了带有结构化引用的表,因为

  • 我认为这使公式更容易理解
  • 引用不依赖于表在工作表中的位置
  • 并且在添加/减去行时,引用将自动调整
在OP澄清之后,玩家似乎总是以数字和升序排序。在这种情况下,你只需要

=SUBTOTAL(5,Table1[Player])
编辑:为了响应您问题中的更改,您显然正在寻找一个返回连续可见行的公式

尝试:

5
选项参数用于忽略隐藏行

未过滤的

仅过滤A

仅过滤器B


=索引(A2:A19,MIN)(如果(小计(3,偏移量(A2,行(A2:A19)-行(A2),0)),行(A2:A19)-行(A2)+1))显示A2的值,在过滤B列后出现错误。它可以用于排序,但不能用于筛选。(我对查询进行了编辑以使其更准确。)Player是否始终是数字并按显示的顺序排序?是的,“Player”将保持按数字顺序排序。=索引(A2:A500,小计(5,A2:A500),1)起作用,但有一种情况除外:当我过滤掉团队A并显示团队B时,我在C列中得到所需的结果“4,5,6”;然而,当我过滤掉团队B,只显示团队A时,每次结果都是“1,3,5”。。。而结果应该是“1,2,3”。知道是什么原因导致了这个错误吗?@Etsenmaker我已经编辑了我的帖子,现在我更好地理解了你的问题。但是如何(以及为什么)返回逗号分隔的字符串呢?“我的公式将始终返回“玩家”列中最上面的单元格。@RonRosenfield,在这种情况下,在顶部的第二个和第三个单元格中显示数据的代码是什么?@Etsenmaker这是一个与第一个问题截然不同的问题,但我将编辑我的答案。在这个论坛上,你最好先问一个关于你真正问题的问题,而不是问一个你认为适合你真正问题的问题的解决方案。查看@Etsenmaker查看编辑后的问题,该问题将仅返回可见行的顺序值。那应该是你想要的。
=IFERROR(AGGREGATE(15,5,Table1[Player],ROWS($1:1)),"")