统计函数在我们的日常工作中也会经常使用。常见的有Count、Counta、Countblank、Countif、Countifs五个。
Count用于统计数据类型的单元格个数,Counta用于统计非空单元格的个数,
Countblank用于统计空单元格的个数,而Countif、Countifs用于条件计数。
一、Count:统计区域中数字单元格的个数。
功能:用于统计区域中包含数字的单元格个数。对非数值格式的数据忽略。
语法结构:Count (value1,value2,……valueN)
公式:=Count (单元格引用或值)
参数:
value1必需。要计算其中数字的个数的第一项、单元格引用或区域。
value2,……可选。要计算其中数字的个数的其他项、单元格引用或区域,最多可包含255个。
注意事项:
A.Count 在计数时,把数值型的数字计算进去;但是错误值、逻辑值、空值、文字则会被忽略。
B.若要计算逻辑值、文本值或错误值的个数,使用 Counta函数。
C.若要只计算符合某一或某几个条件的数字的个数,使用 Countif函数或 Countifs 函数。
总之,错误值、逻辑值、空值、文字都不被统计,但只有数字类型的数据(包含能转为数字的文本及数字)才会被统计。
二、Counta:统计区域中非空单元格的个数。
函数Counta 统计的值只要非空,就在其统计范围之内,包括数值之外的其它类型。
功能:计算区域中非空单元格的个数。
语法:Counta (value1, [value2], ...)
公式:=Counta (值或对单元格的引用)
参数:
value1 必需。 表示要计数的值的第一个参数。
value2, ... 可选。 表示要计数的值的其他参数,最多可包含 255 个参数。
注意事项:
A.Counta 函数计算包含任何类型的信息(包括错误值和空文本 (""))的单元格。但不会对空单元格进行计数。
B.如果不需要对逻辑值、文本或错误值进行计数(换句话说,只希望对包含数字的单元格进行计数),请使用 Count函数。
C.如果只希望对符合某一或某几个条件的单元格进行计数,请使用 Countif函数或 Countifs函数。
三、 Countblank :统计区域中空白单元格的个数。
Countblank与Counta刚好相反,对所选区域空单元格计数。
功能:统计单元格区域中空白单元格的个数(包括空文本单元格在内)。
(注意:空文本(单元格敲两个空格试试)可不是非空单元格)
语法:Countblank (range)
公式:=Countblank (区域)
参数:
range:指要计算空单元格数目的区域
注意事项:
A.Countblank函数包含返回 ""(空文本)的公式的单元格也会计算在内,但包含零值的单元格不计算在内。
B.该函数对单元格有公式但结果为空""的情况也统计在内,这点与Counta不同,与Countif (range," ")结果相同。
比较:Count,Counta,Countblank三个函数。
Count:统计数字单元格个数;Counta:统计非空单元格个数;Countblank:统计空白单元格个数。
A.特殊情况,如果公式的结果是:="",Counta认为这是非空,Countblank认为是空。
B.Count和Counta的参数可以是区域,也可以是多个单元格或区域,但Countblank只能是一个区域。
四、Countif:统计区域中满足条件的单元格个数(单条件计数)
Countif是条件计数函数,是日常工作中使用频率非常高的一个函数。用于统计满足某个条件的单元格的数量。
类似Count+If 的组合,所以函数只对数值型的数字进行条件计数。
功能:用于统计符合某个条件的单元格的个数。
语法:Countif (range, criteria)
公式:=Countif (条件区域,条件)
参数:
range :必需。是需要统计的区域
criteria :必需。是需要满足的条件
通配符问号(?)和星号(*):
问号表示任意一个字符,星号表示一个或多个字符
Countif 的基本用法:
1..禁止重复录入数据
"数据"-->"数据有效性",在"自定义公式"中输入:
=Countif(A:A,A3)=1
2.为不同类别添加序号(常用于-按照班级或部门排序)
※ 使用之前必须以班级进行排序。
公式:=Countif($A$3:A3,A3)
3.统计不重复的个数
统计不重复个数的万能套用公式是:
=Sumproduct (1/Countif (数据区域,数据区域))
公式:=Sumproduct (1/Countif (A3:A11,A3:A11))
4.提取不重复清单
利用Lookup&Countif函数嵌套的方式,能够快速的将有重复的编号,单独提取出来不重复的值。
公式:=Lookup(1,0/(Countif ($B$2:B2,$A$3:$A$11)=0)),$A$3:$A$11)
5.Countif/Countifs+Vlookup:一对多查找
此时,Countif和Countifs可以替换使用
※添加辅助列很重要
辅助列公式:=Countif(统计区域,指定的条件)
公式:=Iferror(Vlookup(Row(A1) ,查找区域,第几列,0)," ")
注意:
A.Vlookup的第一参数必须是Row(A1),因为我们是用1开始查找数据的
B.Vlookup第二参数必须是以辅助列为最左边的列,然后利用当用Vlookup查找重复值时,Vlookup仅会返回第一个查找到的结果
解析:
A.Vlookup函数在进行一对多数据查询时,需要添加辅助列,然后通过辅助列生成的列,进行数据查询。Row函数是为了返回当前行所在的值,并通过Vlookup函数查找对应的行数进行数据查找,往下拖动的时候就可以匹配出所有的数据。
B.Vlookup函数在进行数据查询时,需要利用Iferror函数来过滤错误值,当查询完出现错误的时候,用空白内容代替。Iferror函数的用途在于当所有数据已经查找完,往下拖动出现错误值时用空格代替。
一对多查找方法有二:
(1)设置辅助列只有数字
辅助列公式:=Countif($B3:B3,$G$4)
(2)设置辅助列是查找区域列&数字
辅助列公式:=B3&Countif($B$3:B3,B3)
特别提醒,Countif 函数只针对单元格区域求数,不能对过程中其他函数生成或直接在公式里输入的数组求数。而有许多函数比如Sumproduct函数是数组或区域都可以针对求值的。
五、Countifs:统计区域中同时满足于多个条件的单元格个数。 (多条件计数)
Countifs函数的主要作用是统计符合条件的单元格个数,可以是多条件。
功能:统计区域中符合多条件的单元格个数。
语法:Countifs (criteria_range1, criteria1, [criteria_range2, criteria2]…)
公式:=Countifs (条件区域1, 条件1, [条件区域2, 条件2], …)
参数:
criteria_range1:必需。第一个计算单元格数据的区域
criteria1:必需。第一个以数字、表达式或文本形式定义的条件
criteria_range2, criteria2, ... 可选。 单条件的话就不输入了,多条件就按照条件1、条件2一直输入下去;
……
以此类推
注意事项:
A.此函数的条件范围和条件必须成对出现,最少一对。
B.如果有多个条件区域,每个条件区域必须有相同的行数和列数,它们可以不相邻。
C.如果单元格为空,Countifs 将它的值视为 0。
D.在条件中使用通配符, 即问号 (?) 和星号 (*)。 问号匹配任意单个字符,星号匹配任意字符串。 如果要查找实际的问号或星号,请在字符前键入波形符 (~)。
※Countifs,Sumproduct都可以多条件计数,但是Countifs相对用起来要简单的多,所以建议使Countifs来进行多条件计数。
Countifs的基本用法:
1.统计成绩大于80分人数
对于单个条件来说,Countifs函数与Countif 函数用法是一样的。
2.查找同部门同姓名人员
主要利用Countifs函数多条件统计的原理,分别对各部门和人员姓名进行统计。
公式:=If (Countifs ($B3:$B10,E3,$C3:$C10,F3)>1,"重复","")
3. 控制同部门同姓名人员重复录入
"数据"-->"数据有效性",在"自定义公式"中输入:(类似于Countif)
=Countifs($B3:$B6,$B3,$C3:$C6,$C3)=1
类似于Countif:禁止重复录入数据(上方已讲)
=Countif(A:A,A3)=1
六、比较分析
比较一:Countif和Countifs
(1)Countif 函数用于单条件计数,即计数条件只能有一个。语法结构为:Countif (条件范围,条件).
(2)Countifs 函数用于多条件计数,即计数条件可以有多个。语法结构为:Countifs(条件范围1,条件1,条件范围2,条件2……条件范围N,条件N)
※ Countifs 函数的一组条件中,每个条件的关系是“AND”的关系,也就是“且”的关系,所以它会统计出同时符合所有条件的单元格的个数。
比较二:Sumif,Sumifs与Countif,Countifs
(1)前两个是汇总数据,后两个是统计个数
(2)Countif,Countifs 比Sumif ,Sumifs少了一个求和区域,其他条件设置基本一致
本节以Countif 和Countifs的基本用法为主,最好会实际应用。
Count、Counta、Countblank了解为主,在查找数字,非空单元格和空单元格会用到。