专栏名称: Excel之家ExcelHome
excel技巧原创教程每日推送,excel表格职场模板干货仓库,图文/视频/动画等多种教学方式分享excel操作技巧教程/excel函数公式教程/excel数据透视表教程/excel图表教程/Word教程,助您轻松提高办公效率!
目录
相关文章推荐
Excel之家ExcelHome  ·  这些公式很简单,学会一起去搬砖 ·  2 天前  
Excel之家ExcelHome  ·  字符提取的几个模式化公式 ·  3 天前  
Excel之家ExcelHome  ·  字符拆分与合并,其实很简单 ·  6 天前  
完美Excel  ·  链接下拉列表项 ·  6 天前  
完美Excel  ·  使用VBA删除Excel中重复的名称 ·  1 周前  
51好读  ›  专栏  ›  Excel之家ExcelHome

COUNTIF函数还不会,加班没有加班费

Excel之家ExcelHome  · 公众号  · Excel  · 2024-11-25 06:45

正文

COUNTIF函数的作用是统计一个区域中符合指定条件的单元格个数,常用写法为:

 =COUNTIF(要检查哪些区域, 要查找什么内容? )

接下来咱们就学习几个COUNTIF函数的典型应用。


1、使用表达式作为统计条件

=COUNTIF(B2:B7,">5")


2、以单元格中的值作为统计条件

=COUNTIF(B2:B7,">"&D2)


3、统计空白单元格数

=COUNTIF(B2:B10,"=")


4、统计非空单元格数

=COUNTIF(B2:B7,"<>")


5、统计包含关键字的个数

=COUNTIF(B2:B7,"*"&D1&"*")


6、统计各部门人数

如下图所示,希望根据A~D列的数据,在G列统计出各部门的人数。

=COUNTIF(B:B,F3)

公式中的B:B,表示B列的整列引用。公式在B列整列中,统计与F3单元格内容相同的单元格个数。


7、统计身份证号码是否重复

=IF(COUNTIF(B$2:B$9,B2&"*")>1,"重复","不重复")

COUNTIF函数在计算文本型数字时,会默认按数值型进行处理,但是Excel中的数字精度只有15位,并且身份证号码是18位,因此会把前15位相同的身份证全部识别为相同的内容。

在第二参数后连接一个通配符&"*",利用数值不能使用通配符的特性,仅查找包含B2单元格内容的文本,通过这样变通的手段,COUTNIF函数就听话啦。


8、按部门添加序号

如下图所示,希望根据C列的部门,在A列添加序号,并且要求每个部门从1开始单独编号。

=COUNTIF(C$1:C2,C2)

COUNTIF函数的第一参数为“C$1:C2”,其中的“C$1”部分锁定了行号,“C2”部分未锁定行号。当公式学习复制时,会依次变成“C$1:C3”、“C$1:C4”、“C$1:C5”……

第二参数“C2”,是公式所在单元格的左侧相邻单元格。

COUNTIF函数在这个动态扩展的范围内,统计有多少个与左侧相邻单元格相同的单元格。


9、判断所在部门

如下图所示,B列是一些带有部门名称的混合字符串,希望根据E列的对照表,从B列内容中提取出部门名称。

=INDEX(E$2:E$6,MATCH(1,COUNTIF(B2,"*"&E$2:E$6&"*"),))

COUNTIF第一参数为B2单元格,统计条件为"*"&E$2:E$6&"*",统计条件中的星号表示通配符,也就是在B2单元格中,分别统计包含E$2:E$6部门名称的个数,结果为:

{1;0;0;0;0}

再使用MATCH函数,在以上内存数组中查找1的位置。

最后使用INDEX函数,在E$2:E$6单元格区域中,根据MATCH函数的位置信息,返回对应位置的内容。


10、统计有几个部门参赛

如下图所示,是某单位员工体育比赛的参赛人员名单,希望统计有多少个参赛部门,也就是C列的不重复部门数。

=SUMPRODUCT(1/COUNTIF(C2:C17,C2:C17))

COUNTIF函数的统计区域和统计条件都是C2:C17,表示在C2:C17单元格区域中,分别统计每个单元格出现的次数。结果为:

{2;2;3;3;3;……;4;4;4;4}

接下来用1除以以上内存数组,得到这些内存数组的倒数。{1/2;1/2;1/3;1/3;1/3;……;1/4;1/4;1/4;1/4}

最后再对这些倒数求和,如果某个单元格出现了两次,这一步对应两个二分之一,求和结果为1。如果某个单元格出现了三次,三个三分之一的求和结果也是1……。


11、按关键字查询

如下图所示,左侧是员工信息,F列是经理亲戚。需要在H列提取出所有不是经理亲戚的员工名单。

=FILTER(B2:C17,COUNTIF(F2:F5,B2:B17)=0)

先使用COUNTIF(F2:F5,B2:B17),统计B2:B17单元格区域中的姓名,在F列经理亲戚列表中出现的次数,结果返回1或者0。

{0;1;0;0;0;1;0;0;1;0;0;1;0;0;0;0}

FILTER函数的筛选条件为以上内存数组结果=0,筛选出B2:C17中符合条件的内容。

提示:FILTER是Excel 2021版本中新增加的函数,在低版本中不能使用。


图文制作:祝洪忠