SUBTOTAL函数
公式解析
官方说明:返回列表或数据库中的分类汇总。 通常,使用 Excel 桌面应用程序中“数据”选项卡上“大纲”组中的“分类汇总”命令更便于创建带有分类汇总的列表。一旦创建了分类汇总列表,就可以通过编辑 SUBTOTAL 函数对该列表进行修改。
语法
SUBTOTAL(function_num,ref1,[ref2],...)
SUBTOTAL 函数语法具有以下参数:
Function_num 必需。 数字 1-11 或 101-111,用于指定要为分类汇总使用的函数。 如果使用 1-11,将包括手动隐藏的行,如果使用 101-111,则排除手动隐藏的行;始终排除已筛选掉的单元格。

Ref1 必需。 要对其进行分类汇总计算的第一个命名区域或引用。
Ref2,... 可选。 要对其进行分类汇总计算的第 2 个至第 254 个命名区域或引用。
3)难度级别:★★★☆☆
基础用法举例
原始数据

题目一:生成序号,使用3和103来进行序号的设定(对第四行数据进行隐藏)
公式写法:=SUBTOTAL(3,$C$3:$C3)
①使用3的时候,如下图,我们可以看到,序号是不连续的,因为第四行被隐藏了,所以第四行对应的序号就没有显示

②使用103的时候,即使第四行隐藏,序号也是连续的。因为有这个特性就方便我们进行统计时,特别明筛选时。
公式写法:=SUBTOTAL(103,$C$3:$C3)

当筛选张姓员工时,显示的序号也是连续的。

题目二:求销售量,使用9和109来进行序号的设定(对第四行数据进行隐藏)
①使用9的时候,隐藏的第四行对应的值40,也被计算在内。
公式写法:=SUBTOTAL(9,D3:D8)

②使用109的时候,隐藏的第四行对应的值40,也被计算在内。
公式写法:=SUBTOTAL(109,D3:D8)
在有筛选的时候,也可以显示我们筛选后的统计结果。比如只统计张姓员工的销售量时,我们不需要修改公式,只要进行筛选操作,就能得到我们想要的结果

扩展用法举例
暂无。
总结
如果 ref1、ref2 中还有其他小计,... (或嵌套小计) ,将忽略这些嵌套式小计以避免双重计数。
当 function_num 为从 1 到 11 的常数时,SUBTOTAL 函数将包括通过“隐藏行”命令所隐藏的行中的值,该命令位于 Excel 桌面应用程序中“开始”选项卡上“单元格”组中“格式”命令的“隐藏和取消隐藏”子菜单下面。 当您要对列表中的隐藏和非隐藏数字进行分类汇总时,请使用这些常数。 当 function_num 为从 101 到 111 的常数时,SUBTOTAL 函数将忽略通过“隐藏行”命令所隐藏的行中的值。 当您只想对列表中的非隐藏数字进行分类汇总时,请使用这些常数。
SUBTOTAL 函数忽略任何不包括在筛选结果中的行,不论使用什么 function_num 值。
SUBTOTAL 函数适用于数据列或垂直区域。 不适用于数据行或水平区域。 例如,当 function_num 大于或等于 101 时需要分类汇总某个水平区域时,例如 SUBTOTAL(109,B2:G2),则隐藏某一列不影响分类汇总。 但是隐藏分类汇总的垂直区域中的某一行就会对其产生影响。
如果任何引用都是三维引用,则 SUBTOTAL 返回#VALUE! 错误值。
常见问题
记的使用的时候,1至11是包含隐藏的行,101至111不包含隐藏的行。