ARTICLE · 1295421
Excel筛选后,序号自动连续
Excel筛选后,序号自动连续
Excel 表格筛选后,明明只剩下几条数据,序号却还是 1、3、5、8……
如果每次筛选后都要手动重新编号,真的很麻烦。
其实不用一个个修改,只需要一个公式,就能让序号跟着筛选结果自动变化!
一、先看效果
假设有一份员工信息表:
序号 姓名 部门
1 张三 销售部
2 李四 人事部
3 王五 销售部
4 赵六 技术部
5 陈七 销售部
筛选出销售部后,普通序号可能变成:
1、3、5
我们希望它自动变成:
1、2、3
二、用一个公式自动编号
假设:
A列是序号
B列是姓名
C列是部门
第2行开始是数据
在 A2 输入:
=SUBTOTAL(103,$B$2:B2)
然后向下填充整列即可。
完成后,无论筛选哪个部门,序号都会按照当前显示的记录重新排列。
三、这个公式为什么有效?
关键在于 SUBTOTAL 函数。
它可以对筛选后的可见数据进行统计,不会把被筛选隐藏的行计算进去。
公式中的:
103:统计非空单元格数量,并忽略筛选隐藏和手动隐藏的行。
$B$2:固定统计起始位置。
B2:随着公式向下填充,统计范围逐渐扩大。
所以每显示一条有效记录,序号就增加 1。
⚠️ 注意:这里用 B 列统计,要求姓名列每行都有内容。如果 B 列有空白,建议换成一列始终有值的字段,比如员工编号。
四、为什么不直接用 ROW 函数?
很多人可能会想到:
=ROW()-1
这个公式确实能生成连续序号,但它只根据所在行的位置计算。
筛选隐藏部分数据后,剩余行的原始行号不会改变,所以序号仍然会断开。
而 SUBTOTAL 可以根据可见数据动态统计,更适合筛选场景。
最后总结
普通编号:适合固定序号,不随筛选变化。
SUBTOTAL 编号:适合筛选、动态查看数据,序号自动连续。
以后整理员工名单、销售明细、项目清单时,就可以用这个方法,不用每次筛选后再手动编号了!
#Excel技巧 #Excel函数 #SUBTOTAL #Excel筛选 #办公技巧 #WPS表格















































































