ORID-EXCEL-函数SUBTOTAL(5) day61

今天在书中看到了SUBTOTAL函数的另外一个很实用的应用,这是充分体现知识活学活用的一个案例。在我的分析工作中,筛选功能是用得非常频繁的,但每次筛选后,对应每行的序列号就会打乱,序列号在筛选后就没有起到任何作用。

如下图所示,未筛选前是从1-10按顺序排列的序列号。然后我按照颜色中的灰色选项进行筛选,结果就出现了序列号的不连续。此时的序列号已经不再能真实的反映条目数。

ORID-EXCEL-函数SUBTOTAL(5) day61_第1张图片

这个序列号的问题现在却可以用我学了的SUBTOTAL函数来解决。怎么做到呢?

如下图,序号在A列,我们任意选择一个计数列如B列。此时在第一个计数单元格A2输入函数公式为:=SUBTOTAL(103,B$2:B2),然后运用前面学过的“+Ctrl”方式将所有需要计数的单元格全部下拉该函数公式。

为什么这样写这个公式呢?首先我们需要筛选后的计数结果和筛选后的条目数一致,那么这个就用到了非空单元格的计数函数COUNTA功能,即Function_num取值为3或103。同时,我们要无论怎么筛选,条目数都要从1顺序开始计算并显示,那么就需要用到另外一个符号“$”,即绝对引用标记符号。$符号,放在列标前则固定列标,如$B代表B列固定不变。$符号,放在行号前即可固定行号,如B$2代表B2这个单元格固定不变。B$2:B2指从B2单元格开始到B2单元格位置的区域,实际上仅有B2一个单元格,即计数总为1个。由此SUBTOTAL(103,B$2:B2)代表,A2单元格的计数永远从1开始,后面的依次顺序。所以哪怕进行了筛选,A2单元格也是从1开始计数,后面的单元格只计算不隐藏的数量,那么就会顺序往下计数了。

ORID-EXCEL-函数SUBTOTAL(5) day61_第2张图片

上图操作结果就是这样,筛选后序号仍然按照1-5的顺序排列。这个公式不光可以计算B列,其他有数值的列都可以运用。比如以C列为单位,就用公式=SUBTOTAL(103,C$2:C2);以D列为单位,就用公式=SUBTOTAL(103,D$2:D2)。

我想只要理解了这个公式以及它的各项参数的用法,那么就可以学着运用各种组合进行自由发挥了。但是前提是还有很多应用符号需要我们更多的去学习。一个单一的知识点是无法发挥很大作用的,只有当知识点串联或并联甚至级联后,产生的效用就不可小觑了。

我每次学习都是看一遍好像就理解了,但当我真的写成日记后会发现有时候说不清楚,那个说不清楚的地方其实就是我没有理解清楚的地方。所以,当我真的能够说清楚的时候,也就到了我能够掌握运用的时候了。

把学到的东西弄明白、讲清楚就是我每天的收获。

你可能感兴趣的:(ORID-EXCEL-函数SUBTOTAL(5) day61)