excel 如何统计符合两个条件的行数?
A B C D
姓名 法律职称 学历 出生年月
A 检察员 本科 1965.09
B 副检察长 硕士 1960.12
C 检察长 硕士 1960.03
D 副检察长 本科 1975.12
E 副检察长 本科 1963.01
F 副检察长 本科 1965.12
G 检察员 本科 1969.12
H 检察员 本科 1970.06
I 检察员 大专 1967.01
J 检察员 大专 1966.07
问:1、如何统计法律职称为“检察员”且学历为“本科”的行数?
2、如何统计“检察员”且年龄在30-40岁的行数?
1、能不能不用中间环节直接实现?
2、如何在sheet2里某单元格里直接统计sheet1中法律职称为“检察员”的行数?(不用过渡方法) 展开
一、假设要对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可以实现多个条件同时求结果。
=IF(B2="检察员",IF(C2="本科",1,0),0),复制到相应的行,
然后在要写入结果的单元格中写:
=COUNTIF(E2:E11,">0")
2题可参照此做法
1、不用中间环节直接实现好像作不到。
2、=COUNTIF(Sheet1!B2:B11,"检察员")
就可以了
=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确认.
统计多列同时符合条件的可以类推。
参考资料: http://hi.baidu.com/newsonglin/blog/item/b9ea0f3b3c77a9ea14cecb50.html