在Excel中,用SUM函数对一列数据求和是最常见的操作。但如果对数据进行了筛选,SUM函数会统计所有数据——包括被隐藏的行,这样算出来的结果就不是筛选后可见数据的和了。这时候就需要用SUBTOTAL函数,它只对可见单元格进行汇总计算,是筛选状态下求和的正确选择。

一、场景案例

如下图所示,数据表中A列是产品,B列是销售额。现在对A列产品进行筛选,只想统计筛选后各产品的数量之和。如果用SUM函数会把所有部门的数据都加进去,无法区分筛选前后的结果。而用SUBTOTAL函数就能只计算筛选后可见的数据。

二、操作步骤

在目标单元格输入以下公式:=SUBTOTAL(9,B2:B10)

按回车确认,结果只统计当前筛选状态下可见行的数量之和。当筛选条件变化时,SUBTOTAL的结果会自动更新,无需重新计算。

SUBTOTAL函数,筛选状态下也能准确求和-天天办公网
SUBTOTAL函数

三、第一参数详解

SUBTOTAL的第一参数决定了汇总方式,常用的有以下几种:

第一参数 功能
1 平均值
2 计数(数值)
3 计数(非空)
4 最大值
5 最小值
9 求和

把9换成其他数字,就能实现不同的汇总功能。比如用 =SUBTOTAL(1, B2:B10) 计算筛选后的平均值,=SUBTOTAL(4, B2:B10) 求筛选后的最大值。

四、9和109的区别

SUBTOTAL还有一个进阶用法:第一参数使用1~11时,只忽略筛选隐藏的行;使用101~111时,除了忽略筛选隐藏的行,还能忽略手动隐藏的行。也就是说,如果有的行是被手动隐藏(右键隐藏)的,用109可以一并忽略,用9则仍会统计这些行。实际工作中,这个区别在复杂表格中很有用。

SUBTOTAL函数,筛选状态下也能准确求和-天天办公网

五、总结

SUBTOTAL函数的核心作用是只对可见单元格进行汇总。记住最常用的组合:=SUBTOTAL(9, 数据区域) 实现筛选后求和。第一参数9代表求和,换成1~5可以计算平均值、计数、最大值和最小值。101~111则额外忽略手动隐藏的行。掌握这个函数,处理筛选后的统计数据时就不会出错了。