获得一个Excel范围的独特verion的排名

我试图从一个值列表中获得排名,但是我希望排名基于列表的唯一版本。 我想要做的是类似的

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

我无法find如何获得公式内的独特价值。 我已经看到如何输出唯一值到新行的答案,但我不需要打印出来的值,所以我希望有一个更简单的解决scheme。

作为一个例子,像一个列表

|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|

编辑:

我本来并没有澄清这一点,但我的价值观不一定是按照sorting顺序。

对于这个具体的例子WEEKNUM()可以用来创builddate的有效排名:

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

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

“星期”可以连接到这些值来创build“第一周”,“第二周”等的输出。

你可以用相当简单的公式来做到这一点,使用两列:

假设你的date在A1:A10

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

将该公式复制到B10

C1包含这个公式: =B1

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

将该公式复制到C10

您也可以使用RANK.EQ函数而不是RANK

通过Andy G,= WEEKNUM()解决了我的问题。 更普遍,

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

提供可用于制作“第一周,第二周”等的标签。