countif函数是microsoft excel中对指定区域中符合指定条件的单元格计数的一个函数,在wps,excel2003和excel2007等版本中均可使用。
该函数的语法规则如下:
countif(range,criteria)
参数:range 要计算其中非空单元格数目的区域
参数:criteria 以数字、表达式或文本形式定义的条件
用法
一、求各种类型单元格的个数
(1) 求真空单元格个数:=COUNTIF(数据区,"")
(2) 非真空单元格个数: =COUNTIF(数据区,"<>") 相当于counta()函数
(3) 文本型单元格个数: =COUNTIF(数据区,"*") 假空单元格也是文本型单元格
(4) 区域内所有单元格个数: =COUNTIF(数据区,"<>"""),如果数据区内有",该公式不成立.
(5) 逻辑值为TRUE的单元格数量 =COUNTIF(数据区,TRUE)
二、求大于或小于某个值的单元格个数
(1) 大于50=COUNTIF(数据区,">50")
(2) 等于50=COUNTIF(数据区,50)
(3) 小于50 =COUNTIF(数据区,"<50")
(4) 大于或等于50 =COUNTIF(数据区,">=50")
(5) 小于或等于50 =COUNTIF(数据区,"<=50")
(6) 大于E5单元格的值 =COUNTIF(数据区,">"&$E$5)
(7) 等于E5单元格的值 =COUNTIF(数据区,$E$5)
(8) 小于E5单元格的值 =COUNTIF(数据区,"<"&$E$5)
(9) 大于或等于E5单元格的值 =COUNTIF(数据区,">="&$E$5)
(10) 小于或等于E5单元格的值 =COUNTIF(数据区,"<="&$E$5)
三、等于或包含某N个特定字符的单元格个数
(1) 两个字符 =COUNTIF(数据区,"??")
(2) 两个字符并且第2个是B=COUNTIF(数据区,"?B")
(3) 包含B =COUNTIF(数据区,"*B*")
(4) 第2个字符是B =COUNTIF(数据区,"?B*")
(5) 等于“你好”=COUNTIF(数据区,"你好")
(6) 包含D3单元格的内容 =COUNTIF(数据区,"*"&D3&"*")
(7) 第2字是D3单元格的内容 =COUNTIF(数据区,"?"&D3&"*")
注:countif()函数对英文字母不区分大小写,通配符只对文本有效
四、两个条件求个数
(1)>10并且<=15 =SUM(COUNTIF(数据区,">"&{10,15})*{1,-1}) 或者=SUM(COUNTIF(数据区,"<="&{10,15})*{-1,1})
(2)>=10并且<15 =SUM(COUNTIF(数据区,">="&{10,15})*{1,-1}) 或者 =SUM(COUNTIF(数据区,"<"&{10,15})*{-1,1})
(3)>=10并且<=15 =SUM(COUNTIF(数据区,{">=10",">15"})*{1,-1})
(4)>10并且<15 =SUM(COUNTIF(数据区,{">10",">=15"})*{1,-1})或者=SUM(COUNTIF(数据区,{">10","<15"}))-样本数
注:一般多条件计数使用SUMPRODUCT函数,以上方法较少使用,仅供参考。
补充:三个区域计数: 三个区域中>=60 =SUM(COUNTIF(INDIRECT({"a46:a48","b48:b50","c47:c48"}),">=60"))
补充:(集合运算法)
统计范围,比如5<= x <=7
可以分解为(x>=5)-(x>7)
写为函数:
=countif(range,">=5")-countif(range,">7")
这样就可以利用集合的运算知识了。同样实现了上面两个条件求个数相同的目的,并且更简单易于理解。