金山WPS

关注公众号 jb51net

关闭
软件教程 > 办公软件 > 金山WPS >

wps如何跳过空行填充连续序列号? wps Excel跳过空行填充序号的技巧

脚本之家

大家好,今天我们来讲解一个关于填充序号的特殊需求的解决方法。

如下图所示:

C列有相同的“类别”数据,并且不同的“类别”数据交界处都会存在一行空行作为间隔。

我们想要进行序号的填充,要求就是:相同的类别数据的序号是相同的,不同的类别序号是由1开始顺序递增的,并且填充序号时会自动跳过空行的空值单元格。

首先我们先来做一个逻辑判断:

=C2<>C1

我们人为使C2单元格与上一单元格C1内容做一个不等于的逻辑式。这样我们下拉填充公式后,其实判断的就是C列的当前单元格内容与上一单元格内容是否不相同。很明显会返回逻辑值TRUE或FALSE。

C列的当前单元格内容与上一单元格内容不相同时,返回TRUE,相同时,返回FALSE。

其实在Excel中,逻辑值TRUE等于1,逻辑值FALSE等于0。那么我们可以通过对上一步的结果乘以1的运算:

=(C2<>C1)*1

将逻辑值转换为1或0的结果。这样观察与理解可以更加直观感受。

那么此时,我们发现这样一个规律:

每组相同“类别”的首个内容均为数字1,每组相同“类别”的非首个内容均为数字0。

然后我们用MAX函数与上一步结果相加:

=MAX($B$1:B1)+(C2<>C1)*1

MAX函数的参数特点是:

$B$1:B1区域起始位置$B$1加了绝对引用,区域结束位置B1是相对引用,这样下拉填充公式后,当前单元格的返回结果总是它上面的区域中的最大值。

我们看一下每一步的运算过程,有助于我们加深理解:

我们观察到,其实不同类别之间的那个空行间隔所对应的序号(标黄区域),我们是不需要的。假如当我们手动去掉这些序号时,我们就得到了最终想要的效果:相同的类别序号一样,不同的类别之间序号是由1~N顺序递增的。

其实原理很简单,当我们去掉空行所对应的序号时,其实MAX所统计的最大值会失去空行区域的干扰,形成顺序递增特点。

我们继续看一下每一步的运算过程,加深理解:

那么我们就可以利用IF函数代替手动去空行序号:

=IF(C2<>"",MAX($B$1:B1)+(C2<>C1)*1,"")

利用IF函数条件判断:

如果C2单元格不等于空值时,我们返回MAX($B$1:B1)+(C2<>C1)*1的原值;如果C2单元格等于空值时,则返回空值即可。

推荐阅读:Excel不规则合并单元格怎么批量填充序号? 不规则合并单元格排序的技巧