语法
SUBTOTAL(function_num,ref1,[ref2],…)
SUBTOTAL 函数语法具有以下参数:
Function_num 必需。 数字...
怎能不会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”代替原来的数字序号,就能解决这个麻烦,请看下面动图:
Datedif函数,算你有没有选举权,精确到天!
最近社区里举行人民代表选举,可忙坏了社区工作人员,他们要来算一算社区内的居民谁有选举权,谁有被选举权。 有一位我原来的学生,她发来消息说:用“year(today())-year(出生日期)',算出来的居民的年龄,上交后,被领导骂了一顿!也该到她倒霉,领导的儿子出生日期是1999年5月18日,按她的算法,却有了选举权
二、筛选的计算
我们在计算销售总额与平均销售额时,结果应该随着部门、商品等筛选条件的不同而相应改变,一个简单的公式就可以完成这项功能。
B17单元格公式:
=SUBTOTAL(9,C2:C13)
B18单元格公式:
=SUBTOTAL(1,C2:C13)
结果如下动图:
三、数据隐藏后的统计
在日常的数据处理中,部分数据一旦隐藏,我们就不希望它再参与到统计中。要实现这个目的,有一个非常好用的函数—— SUBTOTAL。
1、数据隐藏后求和:
公式:=SUBTOTAL(109,B3:B14)
效果动图:
2、数据隐藏后计数:
公式:=SUBTOTAL(102,B2:B13)
效果动图:
COUNTIF函数:不同部门职工编号
COUNTIF函数:不同部门职工编号!关键操作提示: 1、不同部门职工编号,一般要求由“所在部门编码”与“职工在本部门内的编号”组成; 2、不同部门的编码,一般都是给定的,可以用VLOOKUP函数从给定的部门代码区域查找;如果没有给定的编码区域,也可以用IF函数; 3、本示例中VLOOKUP函数的写法:VLOOK