注意:本问介绍的方法除了可在 MS Office Excel 中使用,在 WPS 表格以及 LibreOffice Calc 中也可以参考使用。
1 递增编号,从 1 开始
这个非常简单,只需要在编号列中输入公式:
=ROW()-[表头占据的行数]

比如图中这张表,因为 表头占据了两行,为保证编号是从1开始的,而函数 ROW() 返回的只是当前单元格所在行的行号,因此我们需要在 ROW() 后减去 2。
接下来,双击单元格右下角的控制句柄(那个小黑点),即可完成自动填充:

2 递增编号,不从 1 开始
如果你的编号需要从其他数字开始,则需要改动一下公式:
=ROW()-[表头占据的行数]+[起始编号数]-1
还是以上面那张表为例,假如我们希望编号从 0 开始,考虑到表头占据了 2 行,则需要我们这样输入:

输入完毕后,双击控制句柄,完成自动填充,效果如下:

从其他整数(比如 4)开始,也可以以此类推:

3 周期往复编号
有时候,我们需要编号周期性重复,比如:
1, 2, 3, 4, 1, 2, 3, 4...
这时候就需要我们使用 MOD() 函数了。编号通式如下:
=MOD(ROW()-[表头占据的行数]-1, [循环周期])+[起始编号]
这样看可能有点复杂。我们举一个例子来进行说明:
表头占 2 行,编号从 1 开始,每 3 个循环一次
- 表头占 2 行,那么
ROW()-[表头占据的行数]-1就是ROW()-2-1,即ROW()-3 - 每 3 个循环一次,那么
MOD()函数的输入参数应该为MOD(ROW()-3,3) - 编号从 1 开始,那么
[起始编号]就是 1。
综上,公式应为:
=MOD(ROW()-3,3)+1
最终效果如下:

4 按指定步长递增
比如你希望序号按照一定的间隔递增,如
1, 3, 5, 7, 9...
则可按如下通式:
=(ROW()-[表头占据的行数]-1)*[步长]+[起始编号]
比如这张表,表头占了 2 行。

如果希望编号从 1 开始,每次递增 3,则需要输入:
=(ROW()-2-1)*3+1

附:MOD 函数
MOD(X,Y) 函数进行的是取余计算,它的输出结果是参数 X 除以 Y 后的余数。比如:
MOD(10,3)
因为
所以上述函数的输出结果就是 1。



