SUBTOTAL--筛选状态下汇总统计,就是这么随意

问题情境
很多时候 , 我们都希望按照自己选择的筛选条件随意查看统计结果 , 如下动图:

SUBTOTAL--筛选状态下汇总统计,就是这么随意

文章插图
在动图中 , 我们可以看到 , 销售总额与平均销售额会随着部门、商品等筛选条件的不同而相应改变 , 
其实 , 这并不难 , 一个简单的公式就可以完成 。
公式实现
B17单元格公式:
=SUBTOTAL(9,C2:C13)
B18单元格公式:
=SUBTOTAL(1,C2:C13)
SUBTOTAL--筛选状态下汇总统计,就是这么随意

文章插图
公式解析
语法
SUBTOTAL(function_num,ref1,[ref2],…)
SUBTOTAL 函数语法具有以下参数:
Function_num必需 。数字 1-11 或 101-111 , 用于指定要为分类汇总使用的函数 。如果使用 1-11 , 统计结果将包括手动隐藏的行 , 如果使用 101-111 , 则排除手动隐藏的行;但不管是1-11还是101-111 , 始终排除通过筛选功能隐藏掉的单元格 。(手工隐藏是指用“隐藏行”命令隐藏某行数据)
Ref1必需 。要对其进行分类汇总计算的第一个命名区域或引用 。
Ref2,…可选 。要对其进行分类汇总计算的第 2 个至第 254 个命名区域或引用 。
SUBTOTAL--筛选状态下汇总统计,就是这么随意

文章插图
补充:
当 function_num 为从 1 到 11 的常数时 , SUBTOTAL 函数将包括通过“隐藏行”命令所隐藏的行中的值 , 当对列表中的隐藏和非隐藏数字进行分类汇总时 , 使用这些常数;当 function_num 为从 101 到 111 的常数时 , SUBTOTAL 函数将忽略通过“隐藏行”命令所隐藏的行中的值 , 当只想对列表中的非隐藏数字进行分类汇总时 , 使用这些常数 。
SUBTOTAL 函数忽略任何不包括在筛选结果中的行 , 不论使用什么 function_num 值 。
SUBTOTAL 函数适用于数据列或垂直区域 。不适用于数据行或水平区域 。
【SUBTOTAL--筛选状态下汇总统计,就是这么随意】如果所指定的某一引用为三维引用 , 函数 SUBTOTAL 将返回错误值 #REF! 。

    推荐阅读