暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

筛选后自动编排序号

施施的EXCEL后备军 2021-08-30
1167

在工作中会经常接触要筛选的表格,表格筛选后序号是错乱的。

在工作中会经常接触要筛选的表格,表格筛选后序号是错乱的。若直接打印出来给上级领导审阅或者留着存档,对于阅读者来说,造成的一定的不必要的困扰。用subtotal函数就可以较好地解决该问题。(当然,还有其他很多办法。)

           如图1所示,若直接筛选,A列中的序号就会乱。

(图1)


只需要在A2单元格中输入如下函数,就可以很好地解决这类尴尬的事情。

=SUBTOTAL(103,$B$2:B2)*1

然后,向下填充就可以了。如图2所示。

【解析】

【以下解析,可能会让不经常接触函数的童鞋不好理解,可以跳过,不影响函数使用。】

        1.第一个参数是103,用于返回非空非隐藏的单元格的个数;第二个参数$B$2:B2中,第一个B2需要绝对引用,而第二个B2不用。如果不绝对引用,则返回的序号都是1。

2.SUBTOTAL的语法是:

SUBTOTAL(function_num,ref1,[ref2],...)

Function_num必需。数字 1-11 或 101-111,用于指定要为分类汇总使用的函数。如果使用 1-11,将包括手动隐藏的行,如果使用 101-111,则排除手动隐藏的行;始终排除已筛选掉的单元格。

【说人话】就是=SUBTOTAL(103,$B$2:B2)*1与=SUBTOTAL(3,$B$2:B2)*1的上述的情形效果是一样的。但是如果有手动隐藏的行,=SUBTOTAL(103,$B$2:B2)*1依然能连续显示,=SUBTOTAL(3,$B$2:B2)*1的序号则会有缺失(缺失的就是被手动隐藏行的对应序号。)

3. SUBTOTAL函数第一个参数还有很多用法,可以参照微软官网提供的函数帮助来理解。这里不展开讲了。

4.在函数最后乘1是为了避免在某些版本中筛选之后总是存在最后一行的一个BUG。

Tips1SUBTOTAL函数随着参数的变化,相当于多个函数。

Tips2:涉及的小技巧都是周边朋友和同事工作时候遇到的问题,所以文章总是一会函数,一会VBA这样东弄弄,西弄弄。还请谅解。

Tips3:如有错误,麻烦多多指正,感谢。

Tips4:万丈高楼平地起!


文章转载自施施的EXCEL后备军,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论