过滤器中的行编号


9

在具有过滤器的范围中,我希望有一列行号,该行号将根据filter更改,以便行始终从1开始连续计数。例如,以下是具有过滤器的范围:

Number   Name    Gender
1        Alice   F
2        Jason   M
3        Ka      F
4        Fiona   F
5        Albert  M

现在假设我们应用一个过滤器来显示性别为M的行:

Number   Name    Gender
2        Jason   M
5        Albert  M

以上是Excel通常显示的内容,但我希望Number像这样连续从1开始计数:

Number   Name    Gender
1        Jason   M
2        Albert  M

因此,应根据过滤器对行进行重新编号。我已经尝试过类似=MAX(...)+1或使用该SUBTOTAL()函数的方法,但尚未成功。是否可以为Number列编写公式来执行此任务?怎么样?

Answers:


13

使用以下公式:

=AGGREGATE(3,5,$A$1:A1)

进入细胞A2。(这假设您在cell中有一个列标题A1。)

参数AGGREGATE()

  • Function_num = 3,计算一个范围内的所有非空白单元格
  • 选项= 5,忽略范围内的隐藏行
  • 数组= $ A $ 1:A1,范围从第一行到所选单元格上方的行

样本输出:

在此处输入图片说明

如benshepherd所述,SUBTOTAL()也可以使用。


1
我从没听说AGGREGATE过。绝对现在就使用它:)
benshepherd

6

@MátéJuhász就在我前面。我打算使用的另一种方法SUBTOTAL。在A2中,放入=SUBTOTAL(103,B$2:B2)并填写。

SUBTOTAL函数在其参数上执行带编号的函数-这些函数在“帮助”中进行了描述。103对应于COUNTA忽略隐藏的行。(您可以使用值3来包含隐藏的行。)COUNTA计算范围内非空白单元格的数量。我们使用B$2:B2语法来使顶部的单元格保持不变,并随着列表的向下扩展范围。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.