ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 90680|回复: 12

[分享] Excel统计函数COUNTIF()的常规用法介绍(自己整理的)

[复制链接]

TA的精华主题

TA的得分主题

发表于 2014-12-1 23:42 | 显示全部楼层 |阅读模式
Excel统计函数COUNTIF()的常规用法介绍
COUNTIF函数常规用法
基本简介作用
用来计算区域中满足给定条件的单元格的个数。
语法讲解 COUNTIF(range,criteria) 
  Range 为需要计算其中满足条件的单元格数目的单元格区域,即(范围)。
  Criteria 为确定哪些单元格将被计算在内的条件,其形式可以为数字、表达式或文本,即(条件)。
  例如:条件可以表示为 32"32"">32" "apples"。 
  说明:Microsoft Excel 提供其他函数,可用来基于条件分析数据。例如,若要计算基于一个文本字符串或某范围内的一个数值的总和,可使用 SUMIF 工作表函数。若要使公式返回两个基于条件的值之一,例如某指定销售量的销售红利,可使用 IF 工作表函数。

基本运用运用举例  
       1
、返回包含值12的单元格数量
  =COUNTIFDATA,12
  2、返回包含负值的单元格数量
  =COUNTIFDATA"<0"
  3、返回不等于0的单元格数量
  =COUNTIFDATA"<>0"
  4、返回大于5的单元格数量
  =COUNTIFDATA">5"
  5、返回等于单元格A1中内容的单元格数量
  =COUNTIFDATAA1
  6、返回大于单元格A1中内容的单元格数量
  =COUNTIFDATA">''&A1
  7、返回包含文本内容的单元格数量
  =COUNTIFDATA,''*''
  8、返回包含三个字符内容的单元格数量
  =COUNTIFDATA''???''
  9、返回包含单词"GOOD"(不分大小写)内容的单元格数量
  =COUNTIFDATA,''GOOD''
  10、返回在文本中任何位置包含单词"GOOD"字符内容的单元格数量
  =COUNTIFDATA,"*GOOD*"
  11(1)、返回包含以单词"AB"(不分大小写)开头内容的单元格数量
  =COUNTIFDATA,"AB*"
  11(2)、返回包含以单词"AB"(不分大小写)结尾内容的单元格数量
  =COUNTIFDATA,"*AB"
  12、返回包含当前日期的单元格数量
  =COUNTIFDATATODAY()
  13、返回大于平均值的单元格数量
  =COUNTIFDATA">"&AVERAGE(DATA))
  14、返回平均值上面超过三个标准误差的值的单元格数量
  =COUNTIFDATA,">"&AVERAGE(DATA)+STDEV(DATA)*3)
  15、返回包含值为3-3的单元格数量
  =COUNTIFDATA3+COUNIFDATA-3
  16、返回包含值;逻辑值为TRUE的单元格数量
  =COUNTIFDATATRUE
  17、统计区域中不为空的单元格个数(数值、文本、空格都算)——(上述第3条:文本也算不等于0,空格不算)
  =Countif(DATA,"<>")
  18、只统计文本单元格数量,不统计数值和空格——(上述第7条统计含空格)
  =COUNTIF(DATA,"><")

具体举例  
  
&#8203;
  
A
B
1
资料
资料
2
苹果
32
3
橘子
54
4
水蜜桃
75
5
苹果
86
  
公式 叙述
  
结果
=COUNTIF(A2:A5,"苹果") 上述第一栏是苹果的储存格数目
2
=COUNTIF(B2:B5,">55") 以上第二栏中的数值大于 55 的储存格数目
2

扩展运用计算各种类型单元格的个数  
      
真空单元格 =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)

评分

4

查看全部评分

TA的精华主题

TA的得分主题

发表于 2014-12-7 12:04 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
一个countif函数就能有这么多知识dian

TA的精华主题

TA的得分主题

发表于 2017-4-11 17:29 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
受教了!感谢楼主分享!!!!!!!!!!

TA的精华主题

TA的得分主题

发表于 2017-12-3 09:34 | 显示全部楼层
看看,挺实用的东西,感谢楼主

TA的精华主题

TA的得分主题

发表于 2017-12-3 16:24 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
学习了,谢谢楼主无私奉献!

TA的精华主题

TA的得分主题

发表于 2017-12-3 17:29 | 显示全部楼层
真的是功能总整理,谢谢分享

TA的精华主题

TA的得分主题

发表于 2018-5-21 15:24 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2019-2-20 10:16 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
非常感谢,解决了大问题!

TA的精华主题

TA的得分主题

发表于 2019-4-30 17:25 | 显示全部楼层
各位老师:
      请教一个问题:怎样使用COUNTIF函数统计日期类型的数据,单元格日期格式为:2018年6月24日、2019年2月3日,我想统计日期在2019年度的单元格个数,我用=COUNTIF(B4:B100,year(date)),结果返回的是0,请指教。

TA的精华主题

TA的得分主题

发表于 2020-4-13 19:11 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-5-19 17:56 , Processed in 0.044679 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表