如果Excel工作表包含序号列,在进行自动筛选后,由于某些行被隐藏,序号会变得不连续。要让筛选后的序号还是从“1”开始的连续数字,可以用下面的公式自动生成序号,假如第一行为标题行,序号在第一列,如图。 筛选前,在A2中输入公式: =SUBTOTAL(3,$B$1:B1) 然后拖动或双击填充柄向下填充公式,可以看到在筛选前后公式都在A列生成从“1”开始的连续数字。 说明:SUBTOTAL函数忽略筛选后所有隐藏的行,其第一个参数为“3”,表示用COUNTA函数进行计算。由于引用了第二列区域,该公式要求第二列不包含空单元格。 在Excel 2010中,还可以用新增的AGGREGATE函数,其作用类似于SUBTOTAL函数,但其功能更强。A列的公式可作如下修改,以A2单元格为例: =AGGREGATE(3,5,$A$1:A1) 其第二个参数为“5”,表示仅忽略隐藏行,而不忽略嵌套AGGREGATE函数(不同于SUBTOTAL函数),这样此处就可以引用同列中公式的结果。如A6单元格中的公式为: =AGGREGATE(3,5,$A$1:A5) 虽然A2:A5区域的公式中包含了AGGREGATE函数,但都没有被忽略,因而能够返回正确的结果 |