Excel唯一值

时间:2013-12-18 22:58:02

标签: arrays excel formulas

假设您在Excel中有2列数据:

name     Date
Bob      1/1/2013
Bob      1/5/2013
Joe      1/31/2013
Joe      1/15/2013
Charles  1/8/2013
Ted      1/6/2013
Fred     1/4/2013
George   2/2/2013
Hank     2/5/2013
Mary     6/2/2013
Mary     6/4/2013
Rob      6/4/2013

然后你会得到一份月份清单:

Month
1
2
3
4
5
6
7
8
9
10
11
12

如果他们拥有相同的名字,那么计算按月出生的人数的公式是什么?

一个巨大的问题是我 无法使用COUNTIF(s) 公式。我认为这将是某种数组公式。任何想法。

所以结果应该是这样的:

Month  Count
1        2  --> births in Jan. for Bob and Joe but Charles and ted were not counted
2        0
3        1  --> There were 2 Marys  born in June
4        0
5        0
6        0
7        0
8        0
9        0
10       0
11       0
12       0

1 个答案:

答案 0 :(得分:2)

我假设1应该是反对第6个月 - 2个玛丽在6月出生?

假设A2:A13中的名称,B2:B13中的DOB以及D2:D13中的月份(数字1到12),那么您可以在E2中使用此公式[修改为不太复杂]

=SUM(IF(FREQUENCY(IF(MONTH(B$2:B$13)=D2,MATCH(A$2:A$13,A$2:A$13,0)),ROW(A$2:A$13)-ROW(A$2)+1)>1,1))

使用 CTRL + SHIFT + ENTER 确认并复制列

为了获得每个月与另一个同名人员共享生日的人数,也包括该月份的生日,您可以使用这样的TEXT函数来避免重复频率部分,即

=SUM(TEXT(FREQUENCY(IF(MONTH(B$2:B$13)=D2,MATCH(A$2:A$13,A$2:A$13,0)),ROW(A$2:A$13)-ROW(A$2)+1),"[<2]""0"";0")+0)