excel 如何统计符合两个条件的行数?

2024-12-03 10:25:54
推荐回答(4个)
回答1:

一、假设要对A列为张三,B列为收入的数据个数,(假设数据在第2行到第100行)

 

2003版可以用SUMPRODUCT函数,公式可以写成:

=SUMPRODUCT((A2:A100="张三")*(B2:B100="收入"))

 

 

2007版可以用COUNTIFS函数,公式可以写成:

=COUNTIFS(A:A,"张三",B:B,"收入")

 

 

二、相关函数定义

 

1.SUMPRODUCT函数定义

在给定的几组数组中,将数组间对应的元素相乘,并返回乘积之和。

语法

SUMPRODUCT(array1,array2,array3,
...)

Array1, array2, array3, ... 为 2 到 30 个数组,其相应元素需要进行相乘并求和。

说明

  • 数组参数必须具有相同的维数,否则,函数 SUMPRODUCT 将返回错误值 #VALUE!。

  • 函数 SUMPRODUCT 将非数值型的数组元素作为 0 处理。

 

2.COUNTIFS函数定义

计算多个区域中满足给定条件的单元格的个数。

语法

countifs(criteria_range1,criteria1,criteria_range2,criteria2,…)

criteria_range1为第一个需要计算其中满足某个条件的单元格数目的单元格区域(简称条件区域),criteria1为第一个区域中将被计算在内的条件(简称条件),其形式可以为数字、表达式或文本。例如,条件可以表示为 48、"48"、">48" 、 "广州" 或 A3;同理,criteria_range2为第二个条件区域,criteria2为第二个条件,依次类推。最终结果为多个区域中满足所有条件的单元格个数。

说明

Excel2007中新增函数,为countif函数的扩展。用法与countif类似,但countif针对单一条件,而countifs可以实现多个条件同时求结果。

回答2:

可以用一个过渡的方法,就是在某一列(这里为F列)第二行加入如下公式:
=IF(B2="检察员",IF(C2="本科",1,0),0),复制到相应的行,
然后在要写入结果的单元格中写:
=COUNTIF(E2:E11,">0")
2题可参照此做法

1、不用中间环节直接实现好像作不到。
2、=COUNTIF(Sheet1!B2:B11,"检察员")

回答3:

随便找一空白单元格,输入 =sumproduct((b2:b20="检察员")*(c2:c20=“本科”)*1)
就可以了

回答4:

举例如下:
=SUM((a1:a9="检查员")*(b1:b9="本科"))
解释:逻辑表达式返回的要么是TRUE(相当于1),要么是FALSE(相当于0)。如果进行算术运算,规则如下:
TRUE*TRUE=1
TRUE*FALSE=0
FALSE*TRUE=0
FALSE*FALSE=0
那么表达式(a1="检查员")*(b1="本科"),只有在a1是检查员,b1是本科的情况下,才会返回1,其它情况是0.
因为是数组公式,输入完毕后,要按ctrl+shift+enter确认.

统计多列同时符合条件的可以类推。