SUBTOTAL函数最大的特点就是可以不统计的隐藏的数据区域,如果在工作中遇到仅统计可见区域的问题,最简单的解决方法就是利用SUBTOTAL。同时SUBTOTAL 函数功能多样,可以执行不同的算术和逻辑运算,例如计算总和或平均值、查找最小值或最大值、获取标准差等。
一、用法与参数
SUBTOTAL函数的语法为:
=SUBTOTAL(function_num, ref1, [ref2], ...)
其中第一参数function_num是数据汇总的规则参数,当参数值为1-11的时候函数会计算隐藏数据区域,当参数值为101-111的时候函数不会计算隐藏的数据区域,具体的参数功能对应详见下图:

第二个参数ref1 (必需):要计算的区域或引用。 最后的参数[ref2], ... (可选):最多 254 个其他命名区域或引用以计算小计。
二、使用示例
如下图,我们想要计算下【考核得分】的均值,SUBTOTAL想要计算均值,我们就需要第1参数设置为1或者101,它们唯一的区别就是否统计隐藏的数据区域
计算隐藏数据:=SUBTOTAL(1,B2:B11)不计算隐藏数据:=SUBTOTAL(101,B2:B11)
如下图所示,当没有隐藏区域的时候2个结果都是一模一样的,

如果对数据进行隐藏,参数值为101的公式就会仅仅计算显示的数据,而不计算隐藏数据。参数值为1的公式结果不会发生变化。

三、SUBTOTAL函数与原始统计函数的区别
上面参数表中提到过SUBTOTAL函数可以完成取平均值Average,求和Sum等函数的功能,那么SUBTOTAL函数和这些原始的函数区别是什么呢?SUBTOTAL函数可以响应筛选状态,也就是自动忽略筛选掉的行,而原始的统计函数永远计算所有的数据
例如使用原始的average函数在筛选后仍然会统计所有的数据,而SUBTOTAL函数的结果会只统计筛选后的数据
