某次深圳Excel财务管理公开课,有学员问我如何在筛选状态下还能保持序号连续?正好有这个案例,就找到给她讲解了下。比如A列是序号,B列是城市,其他列忽略。显然在A列直接输入数字序号是无法实现筛选后仍连续的,应当在A2输入=SUBTOTAL(103,$B$2:B2),下拉。当然也可以用=SUBTOTAL(3,$B$2:B2)。 至于SUBTOTAL的第一个参数103或3的意义是统计非空单元格个数的意思,相当于COUNTA的作用。 103或3的区别是: 用103时,SUBTOTAL的结果不包括通过“隐藏行”命令所隐藏的行中的值 用3时,SUBTOTAL的结果包括通过“隐藏行”命令所隐藏的行中的值 而使用自动筛选时,无论用103还是3,对SUBTOTAL的结果没有影响。 当然,如果要兼顾手动隐藏行的情况,最好用103。 如下图: 但实际上仔细看发现,上图中第21行的城市列竟是南京,实际上城市筛选的项目只有无锡。这究竟是什么原因造成的呢?猜测,EXCEL默认把最后一行SUBTOTAL行当作汇总行来处理,而汇总行是不参与筛选的。因此设想通过对此函数*1或/1或+0或-0等方式,激活SUTOTAL函数重算,让其筛选结果得到纠正。 经测试可以用如下函数公式激活重算,得到正确的序号和正确的筛选结果: =SUBTOTAL(103,$B$2:$B2)-0 =SUBTOTAL(103,$B$2:$B2)+0 =SUBTOTAL(103,$B$2:$B2)*1 =SUBTOTAL(103,$B$2:$B2)/1 =--SUBTOTAL(103,$B$2:$B2) =N(SUBTOTAL(103,$B$2:$B2)) |
|
来自: fzchenwl > 《excelppt》