老板发给你一张表,里面有一些重要关键数据,这里我们模拟数据,
要求你计算筛选过后的结果,
例如,当筛选市场部的时候,只汇总市场部的数据
当筛选销售部的时候,只汇总销售总的数据
![](http://image.uc.cn/s/wemedia/s/upload/2024/e2273bb16b417136d3d6365a95b6aa05.png)
当我们进行筛选数据的时候,例如,市场部
那么显示效果就只显示2,3,7行,其它行看起来像隐藏了起来
![](http://image.uc.cn/s/wemedia/s/upload/2024/0682f9b4be6e7fd7da3e9176beb2dc5e.png)
所以当你进行筛选的时候,其实就是隐藏了一部分行进行计算
这个时候,我们有一个SUBTOTAL公式:
第1参数是需要填数字,不同的数字意义不同,参数对应的英文就知道对应的功能了
![](http://image.uc.cn/s/wemedia/s/upload/2024/0d7a4b7f427b27b36bba2644d2bd288e.jpg)
我们这里是求和,所以可以填写9
输入的公式是:=SUBTOTAL(9,C2:C10)
![](http://image.uc.cn/s/wemedia/s/upload/2024/a87fcfebb3cd9496d0ec2ac29dd9c774.jpg)
SUBTOTAL,还可以对应填
101-109的参数,和1-9的参数对应的函数功能是一样的
![](http://image.uc.cn/s/wemedia/s/upload/2024/8c3aa0e6a1f68bc749ff2c56bcda8132.jpg)
那它们的区别是什么呢?
如果我们只是对数据进行筛选的时候,它们是没区别的
![](http://image.uc.cn/s/wemedia/s/upload/2024/860ee9731d40874bed620ea88dc9a3c5.png)
但是,如果你是手动的隐藏了一些数据,那就有区别了
例如,我们手动的隐藏掉第3行和第4行,可以看到两个计算结果不同:
这个时候,参数109,会忽略隐藏行,而数字9,不会忽略隐藏行计算
![](http://image.uc.cn/s/wemedia/s/upload/2024/74b5ded50611d5e20a86382892fff0b2.png)
首先,SUBTOTAL公式,是不能忽略隐藏列计算的
例如,当我们隐藏了C:E列,然后,这个公式求和的结果,仍然是C:G列的结果,并没有忽略隐藏列进行计算
![](http://image.uc.cn/s/wemedia/s/upload/2024/15b9f538f6f8fff895d7862834aa59fa.jpg)
如果我们希望忽略隐藏列计算
首先,我们需要建立一个辅助行
需要的公式是:
=INDEX(CELL("width",C1),1)
它获取的是单元格的列宽长度
![](http://image.uc.cn/s/wemedia/s/upload/2024/ef584f9a5b0b0241d2d25276006b53b5.png)
然后我们只需要在合计,输入公式:
=SUMIFS(C2:G2,$C$11:$G$11,">0")
也就是条件求和,我们只需要列宽值大于0的值
![](http://image.uc.cn/s/wemedia/s/upload/2024/8cd8144e7708f129f87ae2b4e7f21ec6.png)
当我们进行隐藏列的时候,辅助列的数据会变成0,然后就会跳过这些数据求和了
需要注意一点,CELL公式不是实时自动计算的
所以当你隐藏完列之后,需要手动的按F9一次,才能得到预结果
![](http://image.uc.cn/s/wemedia/s/upload/2024/6d2bc798c541aaf8f44d0c7db3aff714.png)
关于这个小技巧,你学会了么?动手试试吧!