在excel中,经常要使用到从1开始的连续序列,但存在的问题是,这个连续序列生成后,如果删除行或者隐藏行,序列就不连续了。有的朋友说使用row()函数可以实现,实际上row()函数只对删除行的情况是连续的,如果隐藏行,它也不连续,测试如下。

我们使用公式=row()-1连创造连续序列,当删除行的时候,序列仍然连续,可当隐藏行的时候序列就不连续了。
那么如何当删除或者隐藏行的时候,让序列也连续呢,在excel中有两种方法可以实现。
subtotal函数

公式解读:=SUBTOTAL(103,$B$1:B1)
SUBTOTAL函数的语法:
=Subtotal(功能代码,数值区域)。

如上图,代码1-11和101-111函数是相同的,但是他们的功能不同,前者计算的时候会将隐藏的值一起计算,后面在筛选或者隐藏数据后,只计算可见单元格数据。
因为是计数,所以第一个参数我们选择103,当然选择103还有一个原因,就是筛选或者隐藏行后,它只计算可见单元格,所以我们的序号一直连续。
第二参数为计数的范围。
2.aggregate函数
aggregate函数和subtotal函数有这异曲同工之妙,我们来看下它如何生成连续序号。
操作如下:

第二个参数3,是忽略隐藏行
第三个参数$B$1:B1是统计的范围
AGGREGATE(计算功能代码,忽略功能代码,数据区域)
计算功能代码:

实际上subtotal和aggregate函数两者的功能还有非常多,而且能实现的需求非常的多,以后可能我们再讲。