在日常 Excel 数据处理中,我们经常遇到一个高频痛点:给表格添加序号后,一旦筛选、隐藏部分行,原本的序号就会断裂、跳号,筛选后的序号不再连续,手动修改序号不仅繁琐易错,还会反复返工。就拿图中这份项目 - 专业 - 人力统计表举例,当我们筛选出特定项目(如 H001)或特定专业(如结构)时,A 列原有固定序号会出现断层,非常不利于数据统计核对。今天就结合这份实操数据,教你一种实用方法,轻松实现筛选后自动生成连续序号,完美适配各类统计表格。

一、先认清痛点:普通序号为什么筛选后会断号?
我们平时用1、2、3……下拉填充的普通序号,是固定行号,和表格物理行绑定。以示例表格为例:表格 A2:A21 是手动填充的 1-20 序号,当我们筛选 “项目 = H001”,只显示 5 行数据时,原有序号会显示 1、2、3、4、5;可如果筛选 “专业 = 结构”,会显示 A2、A7、A12、A17 行,原有序号直接变成 1、6、11、16,序号完全不连续,统计、制表、汇报都会受影响。
二、核心方法 :SUBTOTAL 函数,最稳妥的筛选连续序号方案
1. 函数原理
SUBTOTAL函数可以忽略隐藏行、只计算可见单元格,实现筛选后自动重排连续序号,公式:
A2=SUBTOTAL(103,$B$2:B2)
2. 实操步骤(直接套用示例表格)
清空 A2:A21 原有固定序号; 在A2 单元格输入公式: =SUBTOTAL(103,$B$2:B2);鼠标下拉填充至 A21 单元格,完成序号生成。
3. 效果验证
不筛选时:序号自动生成 1-20,和原表完全一致; 筛选结构,可见行序号自动从 1 开始连续排序; 
隐藏行、取消筛选时,序号实时更新,零手动修改。
统计功能 | 包含手动隐藏行(1-11) | 忽略手动隐藏行(101-111) | 适用场景 |
|---|---|---|---|
求和 | 9 | 109 | 筛选/隐藏后,统计可见数据总和 |
平均值 | 1 | 101 | 筛选后,计算可见数据的平均值 |
计数(仅数字) | 2 | 102 | 统计可见行中的数字单元格个数 |
计数(非空) | 3 | 103 | 统计可见行中的非空单元格个数 |
最大值 | 4 | 104 | 筛选后,找可见数据中的最大值 |
最小值 | 5 | 105 | 筛选后,找可见数据中的最小值 |
夜雨聆风