夜雨聆风学习资料网

ARTICLE · 1290575

Excel 办公技巧之 SUBTOTAL

Excel 办公技巧之 SUBTOTAL

辛辛苦苦把明细表按区域筛了一遍,只看北京的数据,结果下面的合计数还是把全国的都加进去了。

你以为是公式写错了,回去检查=SUM(C2:C5000),没错啊。

但你忘了一件事:SUM这个函数,不管你筛不筛选,它都是把整个区域里所有的数全加一遍。隐藏的行它也加。

于是你看到的明细是北京的,合计数是全国的,这种尴尬每个做过报表的人都遇到过。

解决办法不是手动改公式,而是换一个函数SUBTOTAL。

一、SUM和SUBTOTAL的区别到底在哪

很多人以为SUBTOTAL就是个"高级版SUM",其实不是。它最核心的能力是:你筛选什么,它就只算什么。

说白了:

SUM 是"我不管你看什么,我就算整个区域"

SUBTOTAL是"你给我看什么,我就算什么"

做报表的时候,你筛筛选选看明细是常态,如果合计数不跟着变,那这个表就是废的。

二、语法:第一个数字是灵魂

SUBTOTAL 的语法长得有点奇怪:

=SUBTOTAL(功能代码, 要算的区域)

第一个参数是个数字,代表你要算什么,这也是大部分人搞不懂的地方。

你没看错9 和 109 都是求和,区别在于:

9:筛选出来的行算,手动右键隐藏的行也算

109:筛选出来的行算,手动右键隐藏的行不算

大部分人用了几年SUBTOTAL都不知道还有这个区别。

那到底用9还是109

看你怎么隐藏行:

如果是通过"筛选"功能看的用9就行,筛选本身就会让SUBTOTAL 忽略隐藏行

如果你是手动右键"隐藏行"来调整显示的用 109,它才会真的忽略掉

日常做报表,9用得最多。

三、真实场景:做一个能跟着筛选自动变的明细表

几千条订单销售明细表,从第2行到第5000行,以前的做法

你在表最下面写了一行合计:

=SUM(D2:D4999)

然后你想看看华中卖了多少点筛选,只勾华中。

明细是变了,但下面的合计数还是全国的总数。

你又得另找个格子写 =SUMIF(B:B,"华中",D:D),每个区域写一个,写十几个。

现在的做法,把合计那行的公式改成:

=SUBTOTAL(9, D2:D19)

就这一个改动。

然后你再筛:

筛"北京"合计数自动变成北京的

筛"华中"合计数自动变成华中的

取消筛选合计数自动变回全国的

不用写十几个SUMIF,不用切换公式,就一个SUBTOTAL,跟着你的筛选走。

而且这个合计数是嵌在表里的,不是单独拿出来的你往下翻明细的时候,它就在最下面,永远跟着你看的范围变。

四、一个隐藏的好处:自动排除其他SUBTOTAL行

这个功能大部分人不知道,但特别好用。

假设你的表里有几行小计比如北京一个小计、华东一个小计,每个小计都是用 SUBTOTAL算的。

然后你在最下面算全国总计,用 SUBTOTAL(9, D2:D4999)。

它自动把上面那几个 SUBTOTAL 的小计行排除了,不会重复加。

而如果你用SUM(D2:D4999),它会把小计行也加进去,结果就翻倍了。

这就是为什么很多人做分级汇总的时候,一级一级全用SUBTOTAL最上面的小计、中间的分类、最下面的总计,全用SUBTOTAL,它自己知道哪些是已经汇总过的行,不会重复算。

这个特性是SUM做不到的,SUM不管你是不是小计行,它都加。

五、常见坑

坑1:为什么我改成SUBTOTAL之后,筛选了还是不变?

检查一下你是用"筛选"功能还是手动右键隐藏的。

SUBTOTAL(9, ...) 只忽略"筛选出来的隐藏行",不忽略你手动右键隐藏的行。

手动隐藏的,要用109才会忽略。

坑2:#VALUE! 错误

一般是因为第一个参数写错了SUBTOTAL只接受固定的那十几个代码,写了别的数字就报错。

对照上面的表抄就行。

坑3:和透视表的区别

有人说,我用透视表不就行了?

透视表是透视表,明细表是明细表。你要的是"原始明细数据 + 下面跟着筛选自动变的合计"这是明细表该有的样子。

透视表是汇总表,你不能拿它当明细用。而且透视表你要钻取、要看每一条订单,它就不灵活了。

六、什么时候用 SUM,什么时候用SUBTOTAL

固定的数用SUM,会跟着筛选变的数用SUBTOTAL。

七、最后说两句

SUBTOTAL 这个函数,很多人用了好几年Excel都没注意到。

但一旦你知道"筛选之后合计数应该自动跟着变"这件事,你就再也回不去了以前那种筛了半天、下面还是全国总数的表,看着就难受。

它不是什么高级的新函数,也不是什么黑科技。就是一个"做明细表的时候该用的合计方式"。但就是这么一个小东西,能让你的报表从"看着像草稿"变成"看着像专业的"。

老板筛一下区域,总数自动跟着变他不用问你"这个数是全国的还是北京的",因为表本身就回答了。

回首页,搜索你想要的文档

在首页搜索框输入关键词,快速定位资料

文库首页搜索指引 立即搜索

相关学习资料