2019-1-24 E战到底第15天
统计函数
一、统计函数(Subtotal)
基本用法
=SUBTOTAL(function_num,ref1,…)
function_num
1-AVERAGE 平均值
2-COUNT 统计个数
3-COUNTA 非空单元格数量
4-MAX 最大值
5-MIN 最小值
6-PRODUCT 括号内数据的乘积
7-STDEV.S 样本标准偏差
8-STDEVP.P 标准总体偏差
9-SUM.S 求和
10-VAR.S 样本方差
11-VAR.P 总体方差
·在单元格输入=Subtotal( ,就会提示上述语法
·此函数并不是“一个函数”,而是“一群函数”
·此函数是Excel中唯一一个能统计用户可见单元格的函数
Subtotal隐藏值
Function_num Function_num
(包括手动隐藏值) (忽略手动隐藏值)
1 101
2 102
3 103
4 104
5 105
6 106
7 107
8 108
9 109
10 110
3 111
3. Subtotal与Sum的区别
SUBTOTAL,只对筛选数据结果数据进行求和
SUM,不受筛选结果影响,会对所有数据进行求和
4. Subtotal计数
=SUBTOTAL(2,B2:B8) 统计个数
=SUBTOTAL(3,B2:B8) 非空单元格数量
COUNT 返回包含数字以及包含参数列表中的数字的单元格的个数
COUNTA 返回参数列表中非空值的单元格个数
筛选后填充
=SUBTOTAL(3,$B$2:B2)
避开同类计算
SUBTOTAL函数遇到同类就避开了,就是不会统计由SUBTOTAL计算出来的数值。
二、统计函数(countif、countifs)基本用法
COUNT 计算数字项个数 不能转换为数字的文本、空白单元格、逻辑值、错误值都不计算在内。
COUNTA 计算非空项个数 参数值可以是任何类型,包括空字符(""),但不包括空白单元格。
COUNBLANK 计算空单元格个数 空白单元格和空文本("")会被计算在内。
1、COUNT:计算区域中数字的单元格个数。
如果参数为数字、日期或者代表数字的文本,则将被计算在内;
逻辑值和直接键入到参数列表中代表数字的文本被计算在内;
如果参数为错误值或不能转换为数字的文本,则不会被计算在内;
如果参数是一个数组或引用,则只计算其中的数字。数组或引用中的空白单元格、逻辑值、文本或错误值将不计算在内。
2、 COUNTA:计算区域中非空单元格的个数。
参数值可以是任何类型,可以包括空字符(""),但不包括空白单元格;
如果参数是数组或单元格引用,则数组或引用中的空白单元格将被忽略;
如果不需要统计逻辑值、文字或错误值,请使用函数COUNT。
3、COUNTBLANK:计算区域中空单元格的个数。
包含返回 ""(空文本)的公式的单元格会计算在内;
包含零值的单元格不计算在内。
Countif函数
=COUNTIF(判断区域,计数条件)
COUNTIF函数的第一参数绝对引用,是为了公式向下填充时,保持引用范围不变;
COUNTIF函数的第二参数直接使用相对引用待统计单元格,公式向下填充时,D2依次变为D3、D4……
Countifs函数
COUNTIFS(条件区域1,条件1,条件区域2,条件2…)
条件区域1:必需。在其中计算关联条件的第一个区域。
条件1:必需。要进行计数的第一个条件。
条件区域2:可选。在其中计算关联条件的第二个区域。
条件2:可选。要进行计数的第二个条件。
COUNTIFS函数将条件应用于跨多个区域的单元格,并计算符合所有条件的次数。即多条件计数。
注意:
1、如果条件为文本,需要使用双引号引起来;
2、如果条件为数字,则无需使用双引号。
模糊条件计数
文本 非空 真空数据个数
=COUNTIF($A$2:$A$10,"*")
=COUNTIF($A$2:$A$10,"<>")
=COUNTIF($A$2:$A$10,"=")
注意:
* 代替任意多个字符
<> 代表非空数据
= 代表真空数据
按产品统计序号
=COUNTIF($C$2:C2,C2)
COUNTIF函数的统计区域是$C$2:C2,第一个C2是行绝对引用,第二个C2,是相对引用。
当公式向下复制时,就会变成$C$2:C3、$C$2:C4……一个不断扩展的区域,从这个动态区域中统计C列产品的个数。
一对多查询
操作步骤:
在左表前插入一列并设置公式,用countif函数统计客户的销售额并用&连接成 产品名称+序号的形式。
=C2&COUNTIF($C$2:C2,C2)
在F9设置公式并复制即可得到F2单元格中产品的所有销售记录。
=IFERROR(VLOOKUP($F$2&ROW(A1),$A:$D,COLUMN(B1),0),"")
解决一对多查找的关键点是把重复的值用Countif变成不同的,然后用Vlookup函数再进行查找。
掌握这个思路很重要
数据有效性
不能录入重复的姓名
在数据验证公式栏输入=COUNTIF($B$2:$B$21,B2)=1
只能输入以A开头的文本
在数据验证公式栏输入=COUNTIF(F2,"A*")=1