网站首页 > 开源技术 正文
COUNTIF函数用于统计满足某个条件的单元格的数量,其基本用法为:
COUNTIF(统计区域,指定的条件)
如下图所示,要统计A列有几个5,可以使用以下公式:
=COUNTIF(A2:A10,5)
咱们把COUNTIF函数的第二参数稍加改动,就可以衍生出很多高效用法,例如:
统计大于5的单元格个数:
=COUNTIF(A2:A10,">5")
统计大于B2单元格数值的单元格个数:
=COUNTIF(A2:A10,">"&B2)
统计不等于5的单元格个数:
=COUNTIF(A2:A10,"<>5")
统计空白单元格的个数:
=COUNTIF(A2:A10,"=")
统计非空单元格的个数:
=COUNTIF(A2:A10,"<>")
统计以"e"或“E”开头的单元格个数:
=COUNTIF(A2:A10,"e*")
对于身份证号码以及银行卡号等超长的文本型数字,使用COUNTIF函数时还需要加上一点“佐料”。
以下公式统计A列的身份证号码是否有重复:
=IF(COUNTIF(A:A,A2&"*")>1,"重复","")
COUNTIF函数在计算文本型数字时,会默认按数值型进行处理,但是Excel中的数字精度只有15位,并且身份证号码是18位,因此会把前15位相同的身份证全部识别为相同的内容。
在第二参数后加上一个星号 &"*",就是告诉Excel,要查找包含A2单元格内容的文本,通过这样变通的手段,COUTNIF函数就听话啦。
前面咱们说的是COUNTIF的第二参数,下面再说说第一参数:
如下图所示,要在A列按部门输入序号,不同部门的序号从1开始。
在A2单元格输入公式,向下复制:
=COUNTIF(B$2:B2,B2)
COUNTIF函数的统计区域是B$2:B2,第一个B2是行绝对引用,第二个B2,是相对引用。当公式向下复制时,就会变成B$2:B3、B$2:B4……一个不断扩展的区域,从这个动态区域中统计B列部门的个数。
下面咱们再分享COUNTIF函数的两个组合应用:
如下图所示,要计算C列不重复的人数。
公式为:
=SUMPRODUCT(1/COUNTIF(A2:A14,A2:A14))
这是一个十分常用的统计不重复数据个数的公式,其中包含了一个数学逻辑:
任意一个数据重复出现N次,N个1/N的和值为1。
公式中“COUNTIF(A2:A14,A2:A14)”部分是数组计算,作用是分别统计A2:A14单元格区域中每个元素出现的次数。
运算过程相当于:
=COUNTIF(A2:A14,A2)
=COUNTIF(A2:A14,A3)
……
=COUNTIF(A2:A14,A14)
返回内存数组结果为:
{2;2;2;2;2;2;2;2;2;2;1;1;1}
再使用1除以返回的内存数组,得到以下结果:
{0.5;0.5;0.5……;1;1;1}
用1除,即相当于计算COUNTIF函数所返回内存数组的倒数。
为便于理解,把这一步的结果中的小数部分使用分数代替,结果为:
{1/2;1/2;1/2;1/2;……;1;1;1}
如果单元格的值在区域中是唯一值,这一步的结果是1。
如果重复出现两次,这一步的结果就有两个1/2。
如果单元格的值在区域中重复出现3次,结果就有3个1/3…
即每个元素对应的倒数合计起来结果仍是1。
最后用SUMPRODUCT函数求和,得出不重复的人员总数。
还没看晕?好,咱们继续。
如下图所示,要提取C列不重复的名单。
公式为:
=INDEX(C:C,1+MATCH(0,COUNTIF(E$1:E1,C$2:C$15),0))&""
注意是数组公式,编辑完成后,要按Ctrl+Shift+回车。
首先利用COUNTIF函数,在公式所在位置上方的单元格区域中,分别查找C$2:C$15单元格区域每个数据的个数。返回一个由0和1构成的数组,如果C$2:C$15单元格区域的元素在公式上方出现过,结果就是1;如果没出现,结果就是0。
和上一个例子里一样,COUNTIF函数的第一参数是一个扩展的区域,公式的提取结果会被重复利用。
再利用MATCH函数,在COUNTIF函数返回的数组中查找第一个0的位置,也就是查找首次出现的数据所在的位置。
由于数据表的标题行占了1行,将这个数字加1,就是需要提取的不重复数据在数据表中列的位置。
最后用INDEX函数,以MATCH函数的计算结果作为索引值提取C列对应位置上的数据。
这个函数从最后开始往上看,比较容易理解一些哦。
好了,今天咱们的内容就是这些吧,祝各位小伙伴一天好心情!
图文制作:祝洪忠
- 上一篇: 告别IF函数,Switch函数秒解多条件!
- 下一篇: 统计分析中的平均值都不会计算,那就真的Out了
猜你喜欢
- 2025-09-06 Excel中,除了If函数外,还有这些函数用于条件判断
- 2025-09-06 IF三个以上条件判断,千万别用AND和OR,Excel函数公式
- 2025-09-06 IF函数简单,多条件逻辑判断却很难,掌握这五种方法就一通百通
- 2025-09-06 Excel常用函数IF条件判断的嵌套用法#excel
- 2025-09-06 vba的if多条件判断语句,写法更灵活
- 2025-09-06 Excel函数:IF结合FIND函数快速判断是否包含关键字
- 2025-09-06 进阶高手必备的多条件数据分析技巧,收藏备用
- 2025-09-06 远离IF,遇到数字区间里的多条件查询,一定要用frequency函数
- 2025-09-06 IF()函数学会多条件求和和IF嵌套就够了
- 2025-09-06 按条件计算平均值,AVERAGEIF函数要牢记!
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)