14.统计函数(Subtotal、Countif和Countifs)
一、 Subtotal
1. 基本用法
A. Subtotal是一群函数
B. =SUBTOTAL(1,$B$2:$B$8) 平均值
C. =SUBTOTAL(2,$B$2:$B$8) 统计个数
D. =SUBTOTAL(3,$B$2:$B$8) 非空单元格数量
E. =SUBTOTAL(4,$B$2:$B$8) 最大值
F. =SUBTOTAL(5,$B$2:$B$8) 最小值
G. =SUBTOTAL(6,$B$2:$B$8) 括号内数据的乘积
H. =SUBTOTAL(7,$B$2:$B$8) 标准偏差
I. =SUBTOTAL(8,$B$2:$B$8) 标准偏差
J. =SUBTOTAL(9,B$B$2:$B$8) 求和
K. 第一个参数1-11包含隐藏值,101-111不包含隐藏值
2. Subtotal与Sum函数的区别
A. SUBTOTAL,只对筛选数据结果数据进行求和
B. SUM,不受筛选结果影响,会对所有数据进行求和
3. 第一个参数2与3的区别
A. COUNT 返回包含数字以及包含参数列表中的数字的单元格的个数
B. COUNTA 返回参数列表中非空值的单元格个数
4. 筛选后填充序号
A. =SUBTOTAL(3,$B$2:B2)
B. Tips:Subtotal函数会将最后一栏默认为汇总栏,如果非汇总栏,可将公式改成=SUBTOTAL(3,$B$2:B2)*1
5. 避开同类计算
A. Tips:如果小计行使用Subtotal计算,在合计行再使用Subtotal就会自动避开前面计算过的数据,只加小计行
二、 Countif和Countifs
1. 基本用法
A. Count:
a) 计算参数列表中的数字项的个数
b) 不能转换为数字的文本、空白单元格、逻辑值、错误值都不计算在内
B. CountA:
a) 计算参数列表中非空的项个数
b) 参数值可以是任何类型,包括空字符(""),但不包括空白单元格
C. Countblank:
a) 计算参数列表中空单元格的个数
b) 空白单元格和空文本("")会被计算在内
D. Countif:
a) =Countif(判断区域,计数条件)
E. Countifs:
a) =Countif(判断区域1,计数条件1,判断区域2,计数条件2,判断区域3,计数条件3...)最多27个条件
b) Tips:如果条件为文本,需要使用双引号引起来
c) Tips:如果条件为数字,则无需使用双引号
2. 模糊条件计数
A. 判断的条件输入用*,比如姓张的所有销售员,输入“张*”
3. 文本 非空 真空数据个数
A. 统计文本单元格个数 :
a) =COUNTIF($A$2:$A$10,"*") * 代替任意多个字符
B. 统计非空数据个数:
a) =COUNTIF($A$2:$A$10,"<>") <> 代表非空数据
C. 统计真空数据个数:
a) =COUNTIF($A$2:$A$10,"=") = 代表真空数据
4. 快速统计产品的序号(乱序也可以统计)
A. =COUNTIF($C$2:C2,C2)
B. =C2&COUNTIF($C$2:C2,C2)
C. COUNTIF函数的统计区域是$C$2:C2,第一个C2是行绝对引用,第二个C2,是相对引用。
D. 当公式向下复制时,就会变成$C$2:C3、$C$2:C4……一个不断扩展的区域,从这个动态区域中统计C列产品的个数
5. Countif函数+Vlookup函数一对多查询
A. 解决一对多查找的关键点是把重复的值用Countif变成不同的,然后用Vlookup函数再进行查找,掌握这个思路很重要
B. 增加辅助列,有N多个A就用COUNTIF变成A1,A2,A3...,再通过这些不同项用VLOOKUP函数查找想要的数值
6. 数据有效性
A. 不能录入相同的姓名
a) 数据-数据有效性-自定义-“ =COUNTIF($B$2:$B$21,B2)=1”
B. 只能输入以A开头的文本
a) 数据-数据有效性-自定义-“ =COUNTIF(F2,"A*")=1”