分享

countif函数很有用,各种用法学起来!

 刘卓学EXCEL 2021-04-02

你好,我是刘卓。欢迎来到我的公号,excel函数解析。今天来分享下countif函数的一些用法。countif函数是一个强大的统计函数,在工作中有着广泛的应用。

它主要用于统计满足某个条件的单元格数量,语法如下,有2个参数。

COUNTIF(range, criteria)

第1参数range为必需,是要统计数量的单元格区域。必需是单元格区域引用,不能是数组,包括常量数组和公式返回的数组都是不行的。range这个单词的意思就是范围、区域。

第2参数criteria为必需,是要满足的条件,可以是数字、表达式、单元格引用或文本字符串。它支持通配符*和?。

下面来看下它在不同场景中的一些用法:

1.给部门添加序号

下图展示的是某公司的员工信息表,要求根据B列的部门编写序号,遇到不同的部门,序号重新从1开始编写,结果如A列所示。在A3单元格输入下面的公式,向下填充。

=COUNTIF(B$3:B3,B3)


countif的第1参数中,第1个B3的行号是固定的,第2个B3的行号不固定,当公式向下填充时,区域会动态扩展。

别看这个公式很简单,它的用途还是挺多的。可以添加序号,也可以用来判断是第几次出现的,还可以进一步判断是否是重复出现的(结果大于1的就是重复的),还可以提取不重复值(把结果等于1的提取或筛选出来)。

2.找出A列中有,D列中没有的姓名
从A列中找出D列中没有的姓名,结果如下图标绿的单元格所示。该如何找出来呢?方法有很多的,当然今天是用countif的方法。

添加一个辅助列,在B17单元格输入下面的公式,向下填充。

=COUNTIF(D$17:D$22,A17)

注意countif的区域不要选反了,选A列的区域还是选D列的区域,自己想一想。如果只想要用颜色标记出来,也可以用条件格式来设置。


3.常量数组和通配符的用法

下图左表是各小组成员的成绩表,共有3个问题。先看第1问,统计1组和2组成员的总人数。输入下面的公式,完成。

=SUM(COUNTIF(B31:B40,{"1组";"2组"}))


countif的第2参数{"1组";"2组"}是个常量数组,有2个元素,分别是1组和2组。那么countif函数返回的结果也有2个值,分别是1组的人数和2组的人数,结果为{3;3}。最后用sum函数对两组的人数求和。

来看第2问,统计成绩大于等于80且小于90的人数。可以看到只有1个88满足条件。输入下面的公式,完成。

=SUM(COUNTIF(C31:C40,">="&{80,90})*{1,-1})


思路是用大于等于80的个数减去大于等于90的个数,就是大于等于80且小于90的个数,最好画个数轴来看下的。

上面的公式也是常量数组的用法,countif返回的结果也有2个值,结果是{4,3},乘以{1,-1}得到的结果为{4,-3},最后用sum求和,其实就是4减3。

也可以用下面的公式,简单易懂。

=COUNTIF(C31:C40,">=80")-COUNTIF(C31:C40,">=90")

最后来看第3问,统计姓名不是两个字的人数。姓名是两个字的已经用红色箭头标出,共有2个,剩下的共有8个。输入下面的公式,完成。

=COUNTIF(A31:A40,"<>??")


通配符*和?只能代表文本,*代表任意的文本,长度不限,字符不限。?代表任意单个字符,??就代表任意两个字符,"<>??"表示不是两个字符的文本。

4.统计不重复部门的个数

输入下面的公式,按ctrl+shift+enter三键完成。

=SUM(1/COUNTIF(B45:B54,B45:B54))


这个公式用countif统计出B45:B54这个区域中各个部门的个数,结果为{3;3;3;2;2;3;3;3;2;2}。

比如人事部对应的个数都是3,用1除将人事部的3个3变成3个三分之一,最后用sum求和,将3个三分之一合成1,这样就把人事部算做1个不重复的。其他部门也是同样的算法,就是把n个n分之一相加。
5.中国式排名
中国式排名如果有名次一样,并列排名,不会占位后面的名次。比如100,100,90会排名为1,1,2,而不是1,1,3。在D59单元格输入下面的公式,按ctrl+shift+enter三键,向下填充。

=SUM((C$59:C$68>=C59)/COUNTIF(C$59:C$68,C$59:C$68))


链接:

https://pan.baidu.com/s/1ND820c4JHOQ0LzVNWvbE9A

提取码:f0go

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多