Excel序号生成技巧:连贯的序号之中穿插了文字如何处理-续

Excel序号生成技巧:连贯的序号之中穿插了文字如何处理-续
2023年08月18日 10:34 部落窝教育

编按:大家好,今天再来给大家讲讲,序号的自动生成问题,以及名字中含有“部”字时,该如何处理?赶紧来看看吧!

前几天分享了一个关于序号的问题,详情可戳链接,Excel教程:一个复杂的序号生成问题,手把手教你!

有同学留言说:名字中含有“部”字就不灵了。

咱们来模拟一下,如果名字里真出现了“部”字,会怎么样呢?

案例中公式的原理是判断单元格里最右边一个字是否为“部”,当名字中间有“部”是不受影响的,但是如果最后一个字是“部”,很显然就会出问题。

如何解决这个问题呢?

如果不修改公式的话,有个很简单的方法,就是在名字后面加个空格。

如果要修改公式的话,我们可以换一个思路,不用B列单元格来做判断,改用C列,公式为:

=IF(C1="当月业绩","序号",ROW(A1)- COUNTIF($C$1:C1,"当月业绩"))

怎么样?这样来写公式就没问题了吧!

在这里,特别感谢上次积极参与留言的几位同学,有问题我们才会进步。

接下来解答上次留下的思考题,假如每个部门都重新编号,又该怎么解决?

输入公式为:=IF(C1="当月业绩","序号",N(OFFSET(A1,-1,))+1)

这个公式主体是=IF(C1="当月业绩","序号",xxx),当C列为"当月业绩"的时候,返回"序号",否则返回xxx这部分的结果,公式的难点就在于xxx这部分,也就是N(OFFSET(A1,-1,))+1,以下重点解释一下这部分的原理。

N函数我们之前讲过,就是将文本返回0,数字返回本身,详情可点击之前的教程N函数的使用。

接着我们讲一讲OFFSET(A1,-1,)

OFFSET函数本来有五个参数的,完整的用法是OFFSET(基点,行偏移,列偏移,高度,宽度),本例中省略了后面三个参数,第一参数用A1的相对引用,说明随着公式下拉基点也是随之下移的,第二参数用的-1,表示要返回的是基点上方一个单元格的数据。

这里有个前提就是第一行无法得到正确结果的,因为A1上面没有单元格,但是公式并没有返回错误值,因为第一行OFFSET根本没机会表演,IF返回第二参数“序号”了。

当公式到第二行,IF返回第三参数,这时候就轮到OFFSET发挥作用了。

OFFSET(A2,-1,)的意思就是A2上面一个单元格的值—— “序号”,N函数就把这部分变成0,所以在N后面+1才是我们要的结果。

以此类推,每一行都是这个逻辑:如果上一行是文字,就从1开始,如果是数字,就递增,公式本身并不难,难的是这种逻辑,怎么样,你学会了吗?

版权申明:

本文作者老菜鸟;同时部落窝教育享有专有使用权。若需转载请联系部落窝教育。

财经自媒体联盟更多自媒体作者

新浪首页 语音播报 相关新闻 返回顶部