Excel
统计函数COUNTIF()
的常规用法介绍
COUNTIF
函数常规用法一
基本简介作用
用来计算区域中满足给定条件的单元格的个数。
语法讲解 COUNTIF(range,criteria)
Range
为需要计算其中满足条件的单元格数目的单元格区域,即(范围)。
Criteria
为确定哪些单元格将被计算在内的条件,其形式可以为数字、表达式或文本,即(条件)。
例如:条件可以表示为 32
、"32"
、">32"
或 "apples"
。
说明:Microsoft Excel
提供其他函数,可用来基于条件分析数据。例如,若要计算基于一个文本字符串或某范围内的一个数值的总和,可使用 SUMIF
工作表函数。若要使公式返回两个基于条件的值之一,例如某指定销售量的销售红利,可使用 IF
工作表函数。
基本运用运用举例
1
、返回包含值12
的单元格数量
=COUNTIF
(DATA,12
)
2
、返回包含负值的单元格数量
=COUNTIF
(DATA
,"<0"
)
3
、返回不等于0
的单元格数量
=COUNTIF
(DATA
,"<>0"
)
4
、返回大于5
的单元格数量
=COUNTIF
(DATA
,">5"
)
5
、返回等于单元格A1
中内容的单元格数量
=COUNTIF
(DATA
,A1
)
6
、返回大于单元格A1
中内容的单元格数量
=COUNTIF
(DATA
,">''&A1
)
7
、返回包含文本内容的单元格数量
=COUNTIF
(DATA,''*''
)
8
、返回包含三个字符内容的单元格数量
=COUNTIF
(DATA
,''???''
)
9
、返回包含单词"GOOD"(
不分大小写)
内容的单元格数量
=COUNTIF
(DATA,''GOOD''
)
10
、返回在文本中任何位置包含单词"GOOD"
字符内容的单元格数量
=COUNTIF
(DATA,"*GOOD*"
)
11(1)
、返回包含以单词"AB"(
不分大小写)
开头内容的单元格数量
=COUNTIF
(DATA,"AB*"
)
11(2)
、返回包含以单词"AB"(
不分大小写)
结尾内容的单元格数量
=COUNTIF
(DATA,"*AB"
)
12
、返回包含当前日期的单元格数量
=COUNTIF
(DATA
,TODAY()
)
13
、返回大于平均值的单元格数量
=COUNTIF
(DATA
,">"&AVERAGE(DATA))
14
、返回平均值上面超过三个标准误差的值的单元格数量
=COUNTIF
(DATA,">"&AVERAGE(DATA)+STDEV(DATA)*3)
15
、返回包含值为3
或-3
的单元格数量
=COUNTIF
(DATA
,3
)+COUNIF
(DATA
,-3
)
16
、返回包含值;
逻辑值为TRUE
的单元格数量
=COUNTIF
(DATA
,TRUE
)
17
、统计区域中不为空的单元格个数(数值、文本、空格都算)——
(上述第3
条:文本也算不等于0
,空格不算)
=Countif(DATA,"<>")
18
、只统计文本单元格数量,不统计数值和空格——
(上述第7
条统计含空格)
=COUNTIF(DATA,"><")
具体举例
公式
叙述
|
|
=COUNTIF(A2:A5,"
苹果")
上述第一栏是苹果的储存格数目
|
|
=COUNTIF(B2:B5,">55")
以上第二栏中的数值大于 55
的储存格数目
|
|
扩展运用计算各种类型单元格的个数
真空单元格 =COUNTIF(data,"=")
真空+
假空单元格 =COUNTIF(data,"")
非真空单元格=COUNTIF(data,"<>")
文本型单元格=COUNTIF(data,"*")
判断条件表示不等于单个双引号“"”=COUNTIF(data,"<>""")
不连续区域求个数
三个区域中>=60=SUM(COUNTIF(INDIRECT({"a1:a10","b1:b10","c1:c10"}),">=60"))
多区域也可以扩展为多表求个数
两个条件求个数
>10
并且<=15 =SUM(COUNTIF(data,">"&{10,15})*{1,-1})
>=10
并且<15 =SUM(COUNTIF(data,">="&{10,15})*{1,-1})
>=10
并且<=15=SUM(COUNTIF(data,{">=10",">15"})*{1,-1})
>10
并且<15=SUM(COUNTIF(data,{">10",">=15"})*{1,-1})
用countif()
求区域内不重复值个数
{=sum(1/COUNTIF(A1:A10,A1:A10))} (
数组公式)
COUNTIF
函数常规用法二
一、求各种类型单元格的个数
(1)
求真空单元格单个数:=COUNTIF(data,"=")
(2)
真空+
假空单元格个数:=COUNTIF(data,"")
相当于countblank()
函数
(3)
非真空单元格个数:=COUNTIF(data,"<>")
相当于counta()
函数
(4)
文本型单元格个数:=COUNTIF(data,"*")
假空单元格也是文本型单元格
(5)
区域内所有单元格个数:=COUNTIF(data,"<>""")
(6)
逻辑值为TRUE
的单元格数量:=COUNTIF(data,TRUE)
小说明:
EXCEL
单元格内数据主要有以下几类:
数值型,
文本型,
逻辑型,
错误值型。其中时间类型也是一种特殊的数值。文本类型的数字是文本型。空单元格:指什么内容也没有的单元格,姑且称之为真空。假空单元格:指0
字符的空文本,一般是由网上下载来的或公式得来的,姑且称之为假空。date
指单元格区域,该参数不能是数组。
二、求><=
某个值的单元格个数
(1)
大于50
:=COUNTIF(data,">50")
(2)
等于50
:=COUNTIF(data,50)
(3)
小于50
:=COUNTIF(data,"<50")
(4)
大于或等于50
:=COUNTIF(data,">=50")
(5)
小于或等于50
:=COUNTIF(data,"<=50")
(6)
大于E5
单元格的值:=COUNTIF(data,">"&$E$5)
(7)
等于E5
单元格的值:=COUNTIF(data,$E$5)
(8)
小于E5
单元格的值:=COUNTIF(data,"<"&$E$5)
(9)
大于或等于E5
单元格的值:=COUNTIF(data,">="&$E$5)
(10)
小于或等于E5
单元格的值:=COUNTIF(data,"<="&$E$5)
三、等于或包含某N
个特定字符的单元格个数
(1)
两个字符:=COUNTIF(data,"??")
(2)
两个字符并且第2
个是B:=COUNTIF(data,"?B")
(3)
包含B:=COUNTIF(data,"*B*")
(4)
第2
个字符是B:=COUNTIF(data,"?B*")
(5)
等于“
你好”:=COUNTIF(data,"
你好")
(6)
包含D3
单元格的内容:=COUNTIF(data,"*"&D3&"*")
(7)
第2
字是D3
单元格的内容:=COUNTIF(data,"?"&D3&"*")
注:countif()
函数对英文字母不区分大小写,通配符只对文本有效
四、两个条件求个数
(1)>10
并且<=15=SUM(COUNTIF(data,">"&{10,15})*{1,-1})
(2)>=10
并且<15=SUM(COUNTIF(data,">="&{10,15})*{1,-1})
(3)>=10
并且<=15=SUM(COUNTIF(data,{">=10",">15"})*{1,-1})
(4)>10
并且<15=SUM(COUNTIF(data,{">10",">=15"})*{1,-1})
注:一般多条件计数使用SUMPRODUCT
函数,以上方法较少使用,仅供参考。
补充:三个区域计数:三个区域中=60
五、各种特殊统计要求的计算A1:A100
为存放数据的区域
(1
)非空文本(仅包括可键入文本:=COUNTIF(A1:A100,">=!")
(2
)所有非空文本=COUNTIF(A1:A100,">=!")+COUNTIF(A1:A100,">="&CHAR(1))-COUNTIF(A1:A100,">=")
或{=SUM(COUNTIF(A1:A100,">="&{"!",""})*{1,-1})+COUNTIF(A1:A100,">="&CHAR(1))}
即文本型-
含" "(
空格)
数量
(3
)全部可见单元格{=SUM(N(IF(ISERROR(A1:A100),1,SUBSTITUTE(A1:A100,"",""))<>""))}
,即全部看上去不是空值的单元格(=
全部记录-
真空-
空格)
(4
)有效可见单元格=COUNTIF(A1:A100,">=!")+COUNTIF(A1:A100,">="&CHAR(1))-COUNTIF(A1:A100,">=")+COUNT(A1:A100)
,即所有非空文+
数字型数据之和
(5
)全部不见单元格(真空+空格+空文本)=COUNTIF(A1:A100,"")+COUNTIF(A1:A100,">=!")+COUNTIF(A1:A100,">=")
(6
)空格=COUNTIF(A1:A100,">=")-COUNTIF(A1:A100,">=!")
(7
)空文本""=COUNTIF(A1:A100,"")-COUNTIF(A1:A100,"=")
(8
)逻辑与错误=COUNTIF(A1:A100,"<>")-COUNTIF(A1:A100,"*")-COUNT(A1:A100)