怎能不会SUBTOTAL–筛选或隐藏状态下的数据统计函数?函数解析
怎能不会SUBTOTAL–筛选或隐藏状态下的数据统计函数?函数解析
语法
SUBTOTAL(function_num,ref1,[ref2],…)
SUBTOTAL 函数语法具有以下参数:
Function_num 必需。 数字 1-11 或 101-111,用于指定要为分类汇总使用的函数。 如果使用 1-11,统计结果将包括手动隐藏的行,如果使用 101-111,则排除手动隐藏的行;但不管是1-11还是101-111,始终排除通过筛选功能隐藏掉的单元格。(手工隐藏是指用“隐藏行”命令隐藏某行数据)
Ref1 必需。要对其进行分类汇总计算的第一个命名区域或引用。
Ref2,… 可选。要对其进行分类汇总计算的第 2 个至第 254 个命名区域或引用。
补充:
当 function_num 为从 1 到 11 的常数时,SUBTOTAL 函数将包括通过“隐藏行”命令所隐藏的行中的值,当对列表中的隐藏和非隐藏数字进行分类汇总时,使用这些常数;当 function_num 为从 101 到 111 的常数时,SUBTOTAL 函数将忽略通过“隐藏行”命令所隐藏的行中的值,当只想对列表中的非隐藏数字进行分类汇总时,使用这些常数。
SUBTOTAL 函数忽略任何不包括在筛选结果中的行,不论使用什么 function_num 值。
SUBTOTAL 函数适用于数据列或垂直区域。不适用于数据行或水平区域。如果想忽略隐藏列汇总,请参考Excel SUMIF+CELL使隐藏列不参与汇总。
如果所指定的某一引用为三维引用,函数 SUBTOTAL 将返回错误值 #REF!。
典型应用
一、筛选后纹丝不乱的序号
按照部门筛选以后,员工的序号,都是原来的序号,不能从1开始有序排列。每次打印前都要手工填写序号,很是麻烦。
用函数“=SUBTOTAL(3,$H$2:H2)*1”代替原来的数字序号,就能解决这个麻烦,请看下面动图:
二、筛选的计算
我们在计算销售总额与平均销售额时,结果应该随着部门、商品等筛选条件的不同而相应改变,一个简单的公式就可以完成这项功能。
B17单元格公式:
=SUBTOTAL(9,C2:C13)
B18单元格公式:
=SUBTOTAL(1,C2:C13)
结果如下动图:
三、数据隐藏后的统计
在日常的数据处理中,部分数据一旦隐藏,我们就不希望它再参与到统计中。要实现这个目的,有一个非常好用的函数—— SUBTOTAL。
1、数据隐藏后求和:
公式:=SUBTOTAL(109,B3:B14)
效果动图:
2、数据隐藏后计数:
公式:=SUBTOTAL(102,B2:B13)
效果动图: