黑龙江医药杂志编辑部:Excel中countif函数用法

来源:百度文库 编辑:九乡新闻网 时间:2024/04/25 05:33:09
语法
COUNTIF(range,criteria)
Range 为需要计算其中满足条件的单元格数目的单元格区域。
Criteria 为确定哪些单元格将被计算在内的条件,其形式可以为数字、表达式、单元格引用或文本。例如,条件可以表示为 32、"32"、">32" 、"apples" 或 B4。
说明
Microsoft Excel 还提供了其他一些函数,它们可根据条件来分析数据。
若要计算基于一个文本字符串或某范围内的一个数值的总和,可使用 SUMIF 工作表函数。
若要使公式返回两个基于条件的值之一,例如某指定销售金额的销售红利,可使用 IF 工作表函数。
若要计算空或非空单元格的个数,可使用 COUNTA 和 COUNTBLANK 函数。
示例 1:通用 COUNTIF 公式
如果您将示例复制到空白工作表中,可能会更易于理解该示例。
A B
1 数据 数据
2 apples 32
3 oranges 54
4 peaches 75
5 apples 86
公式 说明(结果)
=COUNTIF(A2:A5,"apples") 计算第一列中苹果所在单元格的个数 (2)
=COUNTIF(A2:A5,A4) 计算第一列中桃所在单元格的个数 (2)
=COUNTIF(A2:A5,A3)+COUNTIF(A2:A5,A2) 计算第一列中柑桔和苹果所在单元格的个数 (3)
=COUNTIF(B2:B5,">55") 计算第二列中值大于 55 的单元格个数 (2)
=COUNTIF(B2:B5,"<>"&B4) 计算第二列中值不等于 75 的单元格个数 (2)
=COUNTIF(B2:B5,">=32")-COUNTIF(B2:B5,">85") 计算第二列中值大于或等于 32 且小于或等于 85 的单元格个数 (3)
计算80到89之间的人数
=countif(B1:B10,">=80")-countif(B1:B10,">90")
假设B1:B10为你的数据区域.
2009-11-08 12:20
Excel中能熟练地掌握函数的技巧,在水文日常工作中能达到事半功倍的效果。例如:要计算A1:An(定义:data)区域中非零的单元格的平均值,可在单元格中输入=sum(data)/countif(data, "<>0")。下面具体介绍Countif()函数的高级技巧如下:
一、求各种类型单元格的个数
所求类型单元格
公式
说明
真空单元格
=COUNTIF(data1,"=")
真空+假空单元格
=COUNTIF(data1,"")
相当于countblank()函数
非真空单元格
=COUNTIF(data1,"<>")
相当于counta()函数
文本型单元格
=COUNTIF(data1,"*")
假空单元格也是文本型单元格
区域内所有单元格
=COUNTIF(data1,"<>""")
数字型单元格
=COUNT(data1)
不是countif(),这里顺便点一下。
备注:data1为用户定义单元格区域,如用户把a1:d50区域定义为data1,以下data2、data3、data4、data5类同data1,也为用户定义的单元格区域。
二、求大于或小于等于某个值的单元格个数
所求内容
公式
大于50
=COUNTIF(data2,">50")
等于50
=COUNTIF(data2,50)
小于50
=COUNTIF(data2,"<50")
大于或等于50
=COUNTIF(data2,">=50")
小于或等于50
=COUNTIF(data2,"<=50")
大于E21单元格的值
=COUNTIF(data2,">"&$E$21)
等于E21单元格的值
=COUNTIF(data2,$E$21)
小于E21单元格的值
=COUNTIF(data2,"<"&$E$21)
大于或等于E21单元格的值
=COUNTIF(data2,">="&$E$21)
小于或等于E21单元格的值
=COUNTIF(data2,"<="&$E$21)
三、求等于或包含某N个特定字符的单元格个数
所求内容
公式
两个字符
=COUNTIF(data3,"??")
两个字符并且第2个是B
=COUNTIF(data3,"?B")
包含B
=COUNTIF(data3,"*B*")
第2个字符是B
=COUNTIF(data3,"?B*")
等于“你好”
=COUNTIF(data3,"你好")
包含D38单元格的内容
=COUNTIF(data3,"*"&D38&"*")
第2字是D38单元格的内容
=COUNTIF(data3,"?"&D38&"*")
备注:countif()函数对英文字母不区分大小写
四、不连续区域求个数
所求内容
公式
三个区域中>=60
=SUM(COUNTIF(INDIRECT({"a1:a10","b2:b20","c3:c30"}),">=60"))
三个区域中=70
=SUM(COUNTIF(INDIRECT({"a1:a10","b2:b20","c3:c30"}),70))
三个区域中<60
=SUM(COUNTIF(INDIRECT({"a1:a10","b2:b20","c3:c30"}),"<60"))
五、两个条件求个数
所求内容
公式
>10并且<=15
=SUM(COUNTIF(data4,">"&{10,15})*{1,-1})
>=10并且<15
=SUM(COUNTIF(data4,">="&{10,15})*{1,-1})
>=10并且<=15
=SUM(COUNTIF(data4,{">=10",">15"})*{1,-1})
>10并且<15
=SUM(COUNTIF(data4,{">10",">=15"})*{1,-1})
>10并且<=15
=COUNTIF(data4,">10")-COUNTIF(data4,">15")
六、数据的有效性验证
首先,选择要设置有效性验证区域(如:A1:A100,定义为:data5)中的任一单元格(假设为:A1),在excel工作表中,用鼠标依次点击菜单栏数据→有效性菜单命令,打开“数据有效性”对话框,在“允许”下拉按钮中设置有效性条件为“自定义”,在“公式”框中输入 =COUNTIF(data5,A1)<2,然后,复制A1单元格,选中除A1外的所有单元格(A2:A100),用鼠标依次点击编辑→选择性粘贴命令→粘贴→有效性验证。这样即实现了数据data5区域中不重复的验证条件。
关于=COUNTIF(F6:N6,"*")的相关问题:本人在用到公式=COUNTIF(F6:N6,"*")时,出现错误,我在所选的区域内(有M、#、*、和数字1、0),在用公式求*个数时,所得个数为非数字相加之和,而分别求M、#、*、1、0个数时得出的个数是正确的,同样的公式为什么求出不同的结果,很是郁闷,请各位帮忙!! 本来想把表考上,但考不上来。
"*"代表除数字外的任何符号,包括两个以上的符号、字符如“#”、“#¥”、“#222”、“B1”、以及以文本方式出现的数码“123”等的通配符,但不代表数字,包括以1.00E+12这样的方式表示的数字;所以解决与*号匹配的问题时,要在*号前加~符号,即“~*”仅代表*号。公式改为 =COUNTIF(F6:N6,"~*")即可。