小伙伴们大家好,今天我们来重温一个Excel自动化办公小技巧:如何生成自动增减的序号?以前的很多篇文章中,小编也介绍过几种方法解决此类问题,今天我们继续发散思维,用新方法、新函数、新思路来继续乘风破浪!
如下图所示:
数据源B列为一列水果名称,我们想要对B列名称加上一列顺序递增的序列号显示在A列。并且此序列号要实现这样的效果:当我们增加新的名称时,序号要自动向后更新;当我们删除旧的名称时,序号也要自动的减少,并重新生成连续的序号。
2解题思路
我们用一个经典的老函数COUNTA函数和一个实用的新函数SEQUENCE函数,结合一个非常简单逻辑思路,看看会产生什么意想不到的化学反应。
下面我们就来看一下具体操作方法。
首先我们在A2单元格输入函数公式:
=COUNTA(B:B)
COUNTA函数用于计算区域中非空单元格的个数,可以对逻辑值、文本或错误值进行计数。
函数语法:
=COUNTA(参数1,参数2,参数3……)
参数可以是单值、区域或数组,最多可包含255个参数。
很简单,我们用COUNTA函数统计B列整列中非空单元格的个数,返回值为9。
我们在上面函数公式的基础上减去1:
=COUNTA(B:B)-1
我们在COUNTA(B:B)的基础上减去1的目的是得到除去标题行B1单元格以外的B列的非空单元格的个数,返回值为8。
最后我们在最外侧嵌套SEQUENCE函数:
=SEQUENCE(COUNTA(B:B)-1)
SEQUENCE函数的作用是构建一个等差序列。
函数结构:
=SEQUENCE(行,[列],[开始数],[增量])
第1参数:要返回的数组的行数;
第2参数:要返回的数组的列数;
第3参数:序列的起始值;
第4参数:表示步长,也就是相邻两个数字的差值。
第1参数是必要参数,其余参数都是可选参数,如果省略掉的话,默认值都是1。
很容易理解:我们使用SEQUENCE函数,省略掉第2~第4参数,返回一个COUNTA(B:B)-1,也就是8行的等差序列,这个等差序列是由1起始开始的,等差为1的序列,所以得到序列号1~8。
我们可以深度的联想,当我们删除行数据和新增行数据后,A列的序号会得到一个自动化实时的更新,原因就是SEQUENCE函数联动COUNTA函数发生了化学反应,效果如下图所示:
评论 (0)