一个顶十个的SUBTOTAl函数
从一个难倒了小爱的求和问题说起。小爱今天统计数据时却被一个问题卡住了;数据源是各员工的销售记录, 20+30+30=80,但是公式计算结果却是100。
咋回事呢?
仔细检查会发现,数据源中有隐藏行,第3行数据被隐藏起来了。遇到这种包含隐藏行的数据求和问题,SUM函数就没办法了,因为它只会老老实实地按照区域对全部数据求和,无论隐藏与否,全部参与统计。
要解决这类问题,就要用一个更强大的函数SUBTOTAL,在B6单元格输入“=SUBTOTAL(109,B2:B5)” ,就可以忽略隐藏行,就得到了正确结果。
下面就来说说这个强大的SUBTOTAL函数。SUBTOTAL函数包括求平均值、最大值、最小值、标准差、方差等11种功能,可以替换对应的11个函数。SUBTOTAL函数里面有一套数字,之前的109就是一个数字,我们把数字叫做功能参数,今天咱们就把其他的功能参数(数字)都说一说。
注意:
当功能参数为1-11时,统计时包含手动隐藏的行;
功能参数为101-111时,统计时排除隐藏的行。
对于上面小爱遇到的求和情况,选择109,就是用SUM函数统计,但是,统计时排除隐藏的行。
其实SUBTOTAL除了能忽略掉被隐藏、筛选的行外,还会忽略掉包含SUBTOTAL以及AGGREGATE函数的单元格。
举一个非常常见的例子:
我们在制表的时候,经常会碰到这样一种汇总情况,在同表内进行分项汇总。
如果使用SUM进行汇总,则会统计出所有的数据。
可是我们只想合计各个小计的内容呀。别慌,只需把SUM换成SUBTOTAL就可以得到我们想要的答案。
这是为什么呢?上面提到其实SUBTOTAL除了能忽略掉被隐藏、筛选的行外,还会忽略掉包含SUBTOTAL函数的单元格。单元格B4、B7、B10都是用SUBTOTAL函数计算的小计,自然在最后用SUBTOTAL函数求和时,会被忽略掉。
怎么样,学了这一个SUBTOTAL函数,是不是顶得上一堆函数呢?