今天老祝和大家一起学习COUNTIF函数,这个函数只有两个参数,第一个参数是要对其进行计数的数据区域,这里只能是一个或多个单元格的范围引用,第二个参数是进行计数的条件,可以是数字、表达式、单元格引用或文本字符串。

这个函数的帮助文件比较简单,但是在实际的应用中,通过对第二参数的变化,可以满足我们多种计数需求。

下面咱们就用一组数据,来学习一下第二参数的常用设置。

countif函数大全(COUNTIF函数用法合集)(1)

1、=COUNTIF(A2:A15,12)

用于返回A2:A15单元格区域中,等于12的单元格数量。

2、=COUNTIF(A2:A15,"<0")

用于返回A2:A15单元格区域中,负值的单元格数量。

3、=COUNTIF(A2:A15,"<>0")

用于返回A2:A15单元格区域中,不等于0的单元格数量。

4、=COUNTIF(A2:A15,A2)

用于返回A2:A15单元格区域中,等于单元格A2中内容的单元格数量。

5、=COUNTIF(A2:A15,">"&A2)

用于返回A2:A15单元格区域中,大于单元格A2中内容的单元格数量。

注意这里在比较运算符“>”和单元格引用“A2”之间,用文本连接符“&”进行连接。而不能写成=COUNTIF(A2:A15,> A2)。

6、=COUNTIF(A2:A15,"????")

用于返回A2:A15单元格区域中,4个字符长度的文本个数。

公式中的“?”是占位符,一个“?”表示一个字符长度。

7、=COUNTIF(A2:A15,"*e*")

用于返回A2:A15单元格区域中,包含字符"e"内容的单元格数量。

公式中的“*”也是占位符的一种,一个“*”表示任意字符长度。注意这里的统计结果,不区分条件字符"e"的大小写。

8、=COUNTIF(A2:A15,"e*")

用于返回A2:A15单元格区域中,以字母"e"开头内容的单元格数量。这里的统计结果,也不区分条件字符"e"的大小写。

9、=COUNTIF(A2:A15,TODAY())

用于返回A2:A15单元格区域中,等于当前日期的单元格数量。

TODAY()返回的结果是当前的系统日期。

10、=COUNTIF(A2:A15,"<>")

返回A2:A15单元格区域中不为空的单元格个数,这里的结果包含A13单元格的假空""。

11、=COUNTIF(A2:A15,">=!")

判断条件">=!"表示不等于“真空”的文本。返回A2:A15单元格区域中非空文本个数,也就是A6 A7 A9 A10单元格。

12、=COUNTIF(A2:A15,TRUE)

返回A2:A15单元格区域中逻辑值为“TRUE”的个数。(A11单元格)

13、=COUNTIF(A2:A15,"=")

返回A2:A15单元格区域中真空单元格个数(A15单元格)

COUNTIF函数只能针对单个条件进行统计,通过解法的变通,可以统计同一区域中由两个边界值所指定的数据个数。

如下图所示,要求统计出销售金额大于50000且小于100000的人数。

countif函数大全(COUNTIF函数用法合集)(2)

可以使用

=SUM(COUNTIF(B2:B10,{">50000";">100000"})*{1;-1})

在销售金额中,">50000"的记录数一定包含">100000"的记录,因此该公式使用常量数组{">50000";">100000"}作为统计条件,即分别对">50000"和">100000"的数据进行统计,再利用乘以{1;-1}实现两者相减,最后得出结果为3。

COUNTIF函数第二参数设置灵活多样,还被广泛应用到数组公式中,以下图为例,要统计数据区域中的不重复个数,想一想应该怎么计算呢?

countif函数大全(COUNTIF函数用法合集)(3)

答案来了:

可以使用这个数组公式(别忘了,数组公式需要按下Shift Ctrl Enter才可以哦):

{=SUM(1/COUNTIF(A2:A14,A2:A14))}

怎么去理解这个公式呢?

{=SUM(1/COUNTIF(区域,区域))}是计算区域中不重复值个数的经典公式。

1、公式中“COUNTIF(A2:A14,A2:A14)”部分是数组计算,运算过程相当于:

=COUNTIF(A2:A14,A2)

=COUNTIF(A2:A14,A3)

……

=COUNTIF(A2:A14,A14)

结果为数组:

{2;2;1;1;2;1;1;1;1;2;2;2;1}

表示区域中每个单元格数据出现的个数。

2、“1/{2;2;1;1;2;1;1;1;1;2;2;2;1}”部分的计算结果为:

{0.5;0.5;1;1;0.5;1;1;1;1;0.5;0.5;0.5;1}

用1除以个数,是本公式的核心,要结合前后计算才能领会好它的作用。

为便于理解,把这一步的结果整理一下,用分数代替小数,结果为:{1/2;1/2;1;1;1/2;1;1;1;1;1/2;1/2;1/2;1}

如果单元格的值在区域中重复出现两次,这一步的结果就有两个1/2。如果单元格的值在区域中重复出现3次,结果就有3个1/3,如此类推。

3、最后用SUM函数求和,计算结果为10。

怎么样,你学会了吗?

countif函数大全(COUNTIF函数用法合集)(4)

,