SUBTOTAL函数:统计筛选出的数据,就用它
最近推送的五篇文章:
· 正 · 文 · 来 · 啦 ·
subtotal
英 ['sʌbtəʊt(ə)l] 美 ['sʌbtotl]
n. 小计;部分合计数
vt. 小计;求…的部分和
vi. 求部分和
在工作中,我们要统计求和就用SUM、要统计个数用COUTA、求平均值用AVERAGE,这些函数都是对指定的单元格区域进行求和、计数、求平均值。但是有些时候,我们对一个表格进行筛选操作,然后仅仅对筛选后的行进行求和、计数、求平均值等等。这时候,SUM、COUTA、AVERAGE这些函数就无能为力了,因为它们会对指定区域内所有的单元格进行计算,不管它有没有被筛选。
这时就是SUBTOTAL函数大显身手的时候了,它就是专门用于对筛选出的数据进行求和/计数/求平均值/求最大值/最大值等等。
一、基本用法
此函数的作用就是筛选出的数据进行求和、计数、求平均值....。其语法格式:
=SUBTOTAL(功能参数,单元格区域)
第一个参数为9时,该函数对第二参数的区域进行求和;为1时,对第二参数的单元格区域求平均值。
示例:对筛选出的一2班人员计算其平均分。
如果用公式“=AVERAGE(表1[语文])”,就是统计所有人员“语文”列的平均分,而不只是对筛选出的人求平均。
SUBTOTAL函数第一参数有二种模式,其分别的作用如下:
上图中两种模式的区别如下:
1、当表中没有任何数据被筛选掉或手动隐藏时,两种模式的计算结果一样
2、如果将某行手动隐藏,“模式101”(忽略隐藏值)计算时不会包含手动隐藏的行。“模式1”(包含隐藏值)还是会将手工隐藏的行计算在内。
比如,将上图中的第7行“罗威皓”那一行点击右键隐藏,两者的计算结果如下:
注意:
如果在上面手工隐藏了第7行的基础上,我们再筛选掉部分记录,比如,筛选掉“赵学海”,那么两种计算模式的结果还是一样的,只会统计可见记录的值,都不会包含筛选掉的和手动隐藏的行。
特别提醒:
如果后面没有汇总行,上面的公式会有点小问题,会始终筛选出最后一行。大家看一下上图的第17行就可发现,它的颜色不是蓝色的,和下面行的行号颜色一样,会始终显示。
为了更直接的还原上面的小Bug,我们按下面步骤操作,将其转为普通的表格再筛选:
选中上面的【表格】任一单元格,点击 右键,表格--转换为区域,然后再点击“数据”选项卡的自动筛选。
筛选一1班时,会将第16行也显示出来,如下图:
这是为什么呢?
我们从SUBTOTAL的字面含义也知道,它是计算小计的,也就是说,Excel误将最后一行的SUBTOTAL当做小计汇总了。
那怎么办呢?
方法1:欺骗它
在公式后+0,让它以为这是一个复杂的公式,而不是一个简单的小计公式
方法2:愚弄它!
在最后一行的下一行任一单元格键入空格或任意字符,然后再筛选。
上面的文章读得不过瘾?那就再看看“Excel偷懒的技术”公众号函数讲解系列的其他文章