在做数据统计时,我们经常会先对表格做筛选,然后想知道筛选出来的数据合计是多少。比如一张费用表,按部门筛选后,只想看部分部门的费用总额。如果直接用SUM函数,它会把所有部门的数据都加进去,结果不对。这时候需要用SUBTOTAL函数,它只对可见单元格生效,被筛选掉的行会自动忽略。

一、场景案例
假设A列是部门,C列是价格。现在对A列做筛选,只勾选运营部和研发部。需要计算筛选后剩余记录的价格合计。
二、操作步骤
1、先对A列进行筛选,勾选需要的部门,比如运营部和研发部。
2、在任意空白单元格输入以下公式:
=SUBTOTAL(9, C2:C7)
3、按回车确认,结果只统计当前筛选状态下可见行的价格合计。如果重新选择筛选条件,SUBTOTAL的结果会自动更新。

三、公式拆解
- 第一参数9:代表求和。SUBTOTAL的第一参数决定汇总方式,9就是SUM求和。
- C2:C7:要求和的数据区域。
- 只算可见行:SUBTOTAL会自动忽略被筛选隐藏的行,这是它和SUM最本质的区别。
第一参数除了9,还可以换成其他数字:
- 1代表平均值
- 2代表计数
- 4代表最大值
- 5代表最小值
把9改成对应数字,就能实现筛选后的平均值、计数、最大值等统计。
四、SUM和SUBTOTAL的区别
用SUM(C2:C7)会把筛选掉的行也算进去,得到的是全部数据的总和。而SUBTOTAL(9,C2:C7)只算当前看得见的行,筛选条件一变,结果自动跟着变。所以筛选状态下求和,一定要用SUBTOTAL函数。
五、总结
Excel筛选求和用SUBTOTAL函数最准确。记住公式:=SUBTOTAL(9, 数据区域)。第一参数9代表求和,只对可见单元格生效。筛选后想快速看合计,用这个函数就能一步到位。