由易到难 谈谈countif函数用法
COUNTIF,SUM,SUMIF,我把这三个函数称之为EXCEL统计”铁三角”。前面就SUM,SUMIF都做了相应介绍,今天就举例谈谈COUNTIF函数用法。
实例目录
一、求各种类型单元格的个数
二、求>,<,=某个值的单无格个数
三、等于或包含某N个特定字符的单元格个数
四、不连续区域求符合条件的单元格个数
五、两个条件求符合条件的单元格个数
六、动态区域求符合条件的单元格个数
七、用COUNTIF()排序
八、用COUNTIF()的三维引用取得不重复值
九、用COUNTIF()进行多表汇总统计
PS:由于网页不能直观展示实际效果,接下来就一、三、七等3个实例展开。其余请跳至文末下载Excel实例研究。
一、COUNTIF()求各种类型单元格的个数
为方便说明:左图区域定义名称为 data1 ,下面大家看如何分别统计真假空、文数单元格的个数。
所求类型单元格 | 结果 | 公式 |
真空单元格 | 2 | =COUNTIF(data1,”=”) |
真空+假空单元格 | 5 | =COUNTIF(data1,”") |
非真空单元格 | 20 | =COUNTIF(data1,”<>”) |
文本型单元格 | 14 | =COUNTIF(data1,”*”) |
区域内所有单元格 | 22 | =COUNTIF(data1,”<>”"”) |
数字型单元格 | 6 | =COUNT(data1) |
注:
真空单元格 – 指什么内容也没有的单元格;
假空单元格 – 指0字符的空文本,一般是由公式得来的。
三、等于或包含某N个特定字符的单元格个数
你好 中国人民 JJKFDLb urk OPEN ab THANK 同志 COUNTIF excelhome 你好 ABCDE 我好 KB 大家好吗 解放军 acdkl 同志们好
将上述区域定义为 data3
两个字符 6 =COUNTIF(data3,"??") 两个字符并且第2个是B 2 =COUNTIF(data3,"?B") 包含B 4 =COUNTIF(data3,"*B*") 第2个字符是B 3 =COUNTIF(data3,"?B*") 等于“你好” 2 =COUNTIF(data3,"你好")
结合通配符,我们可以轻松统计包含不同字符的单元格个数。
七、用COUNTIF()排序
在去重排序中,COUNTIF函数很常见。在Excel去除重复项一文中就有介绍,今天再温故一下。
源 | 降序 | 升序 | 升序 | |
子 | 子 | 辰 | 辰 | 1 |
丑 | 酉 | 丑 | 丑 | 13 |
寅 | 寅 | 亥 | 亥 | 3 |
卯 | 乙 | 甲 | 甲 | 10 |
辰 | 戌 | 卯 | 卯 | 14 |
巳 | 午 | 申 | 申 | 8 |
午 | 未 | 巳 | 巳 | 6 |
未 | 巳 | 未 | 未 | 7 |
申 | 申 | 午 | 午 | 9 |
酉 | 卯 | 戌 | 戌 | 2 |
戌 | 甲 | 乙 | 乙 | 5 |
亥 | 亥 | 寅 | 寅 | 12 |
甲 | 丑 | 酉 | 酉 | 11 |
乙 | 辰 | 子 | 子 | 4 |
将“源”定义为名称 data7
降序=INDEX(A:A,RIGHT(SMALL(COUNTIF(data7,”>=”&data7)*10^5+ROW(data7),ROW(1:1)),5))
升序=INDEX(A:A,RIGHT(LARGE(COUNTIF(data7,”>=”&data7)*10^5+ROW(data7),ROW(1:1)),5))
CTRL+SHIFT+ENTER 下拉
=========================== 公式分析 =============================
核心就是COUNTIF(data7,”>=”&data7,这个公式得出data7中大于对应单元格值的个数(也就是排第几),如上表数字标识;
RIGHT(SMALL(COUNTIF(data7,”>=”&data7)*10^5+ROW(data7),ROW(1:1)),5)),这部分用于取的对应单元格所在行号;
其他就不再罗列,请下载:COUNTIF函数用法