excel中使用函数统计一个数值满足一定条件后出现的次数

A B
日期 姓名
2014.1.1 甲
2014.1.1 甲
2014.1.1 乙
2014.1.2 甲
2014.1.3 甲
2014.1.3 甲
2014.1.3 甲
2014.1.4 乙
得到结果:甲 3次,乙2次。

E1:

=SUMPRODUCT(IF(IFERROR(MATCH($A$2:$A$9&D1,$A$2:$A$9&$B$2:$B$9,0),0)-ROW($A$2:$A$9)=-1,1,0))

在公式编辑框里按Ctrl+Shift+Enter组合键确定。

E2由E1向下拖拽后自动填充。


温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-07-07
如果你仅仅是要统计甲出现的次数用函数:countif()这个函数

如果是要统计以日期作为条件,然后甲出现的次数,可以先用&把A、B列的数据合并,再用countif()函数统计。
例如:
A B

日期 姓名

2014.1.1 甲 =I3&J3

2014.1.1 甲 =I4&J4

2014.1.1 乙 =I5&J5

2014.1.2 甲 =I6&J6

2014.1.3 甲 =I7&J7

2014.1.3 甲 =I8&J8

2014.1.3 甲 =I9&J9

2014.1.4 乙 =I10&J10

甲 =COUNTIF(J3:J10,I12) 2014.1.3甲 =COUNTIF(K3:K10,K12)

计算结果如下:
A B

日期 姓名

2014.1.1 甲 2014.1.1甲

2014.1.1 甲 2014.1.1甲

2014.1.1 乙 2014.1.1乙

2014.1.2 甲 2014.1.2甲

2014.1.3 甲 2014.1.3甲

2014.1.3 甲 2014.1.3甲

2014.1.3 甲 2014.1.3甲

2014.1.4 乙 2014.1.4乙

甲 6 2014.1.3甲 3追问

我要的结果是甲出现的是3次,乙出现的是2次;如果1天内多次出现甲,则只需统计1次。

追答

这种情况我一般直接用数据透视

追问

那数据透视表是怎么做的呢,因为数据透视表一般都会是按日期筛选的,这样没办法直接得出结果啊