获取Excel范围的唯一版本的排名

时间:2013-10-18 19:58:35

标签: excel excel-formula

我试图从值列表中获取排名,但我希望排名基于列表的唯一版本。我想做的是像

= RANK.EQ(值,UNIQUE(list_of_values))

我无法找到如何获得公式中的唯一值。我在how to output unique values to a new row看到了答案,但我不需要打印出值,所以我希望有一个更简单的解决方案。

例如,使用像

这样的列表

|Week Ending|
|10/10/13|
|10/10/13|
|10/10/13|
|10/17/13|

我最接近的是RANK.EQ(value,list_of_values,1),它给了我

|Week Ending|Week Number|
|10/10/13| 1|
|10/10/13| 1|
|10/10/13| 1|
|10/17/13| 4|

我正在寻找的是

|Week Ending|Week Number|
|10/10/13| 1|
|10/10/13| 1|
|10/10/13| 1|
|10/17/13| 2|

编辑:

我最初没有澄清这一点,但我的价值观不一定按照排序顺序排列。

3 个答案:

答案 0 :(得分:2)

对于此特定示例,WEEKNUM()可用于创建日期的有效排名:

=WEEKNUM(value, list_of_values, 1) + 1 - WEEKNUM(MIN(list_of_values))

这是因为所有日期都发生在一周的同一天,或者同一周内发生的日期被认为具有相同的排名。

“周”可以连接到这些值,以创建“第1周”,“第2周”等输出。

答案 1 :(得分:1)

您可以使用相当简单的公式,使用两列:

假设您的日期在A1:A10

B1包含以下公式:=RANK(A1,$A$1:$A$10)

将该公式复制到B10

C1包含以下公式:=B1

C2包含以下公式:=IF(B2=B1,C1,C1+1)

将该公式复制到C10

您也可以使用RANK.EQ功能代替RANK

答案 2 :(得分:0)

Via Andy G,= WEEKNUM()解决了我的问题。更一般地说,

= WEEKNUM(value,list_of_values,1)+ 1 - WEEKNUM(MIN(list_of_values))

提供可用于制作“第1周,第2周”等标签的数字。