Excel SUBTOTAL函数:隐藏在筛选背后的数据统计大师

想象一下,你正在分析一份包含1000行数据的销售报表。当你筛选"华东区"时,右下角的状态栏显示平均值、计数和求和——这些动态变化的统计值背后,正是SUBTOTAL函数的魔力。

关键洞察:SUBTOTAL不是简单的数学函数,而是一个 动态统计系统。它能智能区分"你看到的数据"和"全部数据",这正是它与SUM、AVERAGE等函数的本质区别。

语法深度解析

SUBTOTAL函数的完整语法

=SUBTOTAL(function_num, ref1, [ref2], [ref3], ...)

参数详解表

function_num的神秘数字体系

基础组(1-11):包含手动隐藏的行

1 - AVERAGE 平均值

2 - COUNT 数值计数

3 - COUNTA 非空计数

4 - MAX 最大值

5 - MIN 最小值

6 - PRODUCT 乘积

7 - STDEV 样本标准差

8 - STDEVP 总体标准差

9 - SUM 求和

10 - VAR 样本方差

11 - VARP 总体方差

高级组(101-111):忽略手动隐藏的行

text

101 - AVERAGE

102 - COUNT

103 - COUNTA

104 - MAX

105 - MIN

106 - PRODUCT

107 - STDEV

108 - STDEVP

109 - SUM

110 - VAR

111 - VARP

重要区别:两组数字对"手动隐藏的行"处理不同,但对"筛选隐藏的行"都同样忽略。

案例1:基础计算

输入公式:

B16(全部数据销售额总和):=SUM(F2:F13)

C16(可见数据销售额总和):=SUBTOTAL(9,F2:F13)

B17(全部数据平均利润):=AVERAGE(J2:J13)

C17(可见数据平均利润):=SUBTOTAL(1,J2:J13)

B18(全部销售员数量):=COUNTA(C2:C13)

C18(可见销售员数量):=SUBTOTAL(3,C2:C13)

B19(最大销售量):=MAX(F2:F13)

C19(可见最大销售量):=SUBTOTAL(4,F2:F13)

测试筛选:

筛选"地区=华东"

观察:C列数值变化,B列保持不变

案例2:创建动态序号

需求:筛选后显示连续序号,取消筛选恢复原序号

操作:

在A列删除原来的序号

向下填充到A13

公式原理:

SUBTOTAL(3, ...):统计非空单元格

筛选时只统计可见行,自动重新编号

案例3:智能汇总行

需求:在表格末尾添加汇总行,自动计算当前可见数据

操作:

在第14行创建汇总行

E14(销售量汇总):=SUBTOTAL(9,E2:E13)

F14(销售额汇总):=SUBTOTAL(9,F2:F13)

I14(利润汇总):=SUBTOTAL(9,I2:I13)

这一步操作,也可以使用CTRL+T将普通表格转换成超级表格,自动显示出汇总行。

#教育灯塔计划#返回搜狐,查看更多