Excel中的多条件统计,掌握这几个函数公式就够了,收藏备用

多条件统计,一直是Excel中的重要组成部分,如果不掌握一定的技巧和方法,就很难做到轻松应对。

一、If+And:多条件判断。

目的:如果员工的年龄>30,且未婚,则返回“晚婚”,否则返回空值。

方法:

在目标单元格中输入公式:=IF(AND(C3>30,E3=\”未婚\”),\”晚婚\”,\”\”)。

解读:

If函数是条件判断函数,巧妙借助And进行了多条件判断,如果多个条件同时成立,则返回指定的值,否则返回另一个指定的值。

二、Sumif:单条件求和。

函数:Sumif。

功能:对满足条件的单元格求和。

语法结构:=Sumif(条件范围,条件,[求和范围])。

目的:按性别统计总“月薪”。

方法:

在目标单元格中输入公式:=SUMIF(D3:D12,J3,G3:G12)。

解读:

因为条件范围和求和范围不同,所以此处的求和范围不可省略。

三、Sumifs:多条件求和。

函数:Sumifs。

功能:对一组给定条件指定的单元格求和。

语法结构:=Sumifs(求和范围,条件1范围,条件1,[条件2范围],[条件2]……)。

解读:

参数“条件范围”和“条件”必须匹配出现,即有范围,必有条件,或者有条件必有范围。

目的:按“性别”统计相应“学历”下的总“月薪”。

方法:

在目标单元格中输入公式:=SUMIFS(G3:G12,D3:D12,J3,F3:F12,K3)。

解读:

Sumifs函数也可以实现Sumif的功能,即只有一个条件的多条件求和。

四、Countif:单条件计数。

函数:Countif。

功能:计算指定区域中满足条件的单元格数量。

语法结构:=Countif(条件范围,条件)。

目的:按“性别”统计人数。

方法:

在目标单元格中输入公式:=COUNTIF(D3:D12,J3)。

五、Countifs:多条件计数。

函数:Countifs。

功能:统计一组给定条件下符合条件的单元格数量。

语法结构:=Countifs(条件1范围,条件1,[条件2范围],[条件2]……)。

解读:

参数“条件范围”和“条件”必须成对出现。

目的:按“性别”统计相应“学历”下的人数。

方法:

在目标单元格中输入公式:=COUNTIFS(D3:D12,J3,F3:F12,K3)。

解读:

Countifs函数也可以实现Countif的功能,即只有一个条件的多条件计数。

六、AverageIfs:多条件下的平均值。

函数:Averageifs。

功能:查找一组给定条件指定的单元格的算术平均值。

语法结构:=Averageifs(数据范围,条件1范围,条件1,[条件2范围],[条件2]……)。

目的:按“性别”统计相应“学历”的平均“月薪”。

方法:

在目标单元格中输入公式:=AVERAGEIFS(G3:G12,D3:D12,J3,F3:F12,K3)。

解读:

求平均值的函数中,除了Average外,就只有AverageIfs函数,并没有Averageif函数,但用Averageifs函数也可以实现单条件下的平均值计算。

七、Lookup:多条件查询。

函数:Lookup。

功能:从单行或单列或数组中查询符合条件的值。

语法结构:

向量形式:=Lookup(查询值,查询值所在范围,[返回值所在范围])。

数组形式:=Lookup(查询值,查询值和返回值均在的数据范围)。

解读:

此处用到的多条件查询其实为Lookup的变异形式,语法结构为:=Lookup(1,0/((条件1范围=条件1)*(条件2范围=条件2)……),返回值范围)。其本质还是Lookup的向量形式。

目的:根据“部门”和“职位”查询“员工姓名”。

方法:

在目标单元格中输入公式:=LOOKUP(1,0/((B3:B12=L3)*(C3:C12=M3)),D3:D12)。

最美尾巴:

文中从多条件判断,求和、计数、以及计算平均值和查询引用等方面介绍了常用了常用的“多条件”技巧,如能熟练掌握,定能如虎添翼,轻松解决办公中遇到的“多条件”统计问题。

COUNTIF函数用法大全

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列对应位置上的数据。

这个函数从最后开始往上看,比较容易理解一些哦。

好了,今天咱们的内容就是这些吧,祝各位小伙伴一天好心情!

图文制作:祝洪忠

本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com

点赞 0
收藏 0

文章为作者独立观点不代本网立场,未经允许不得转载。