获得一个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))
提供可用于制作“第一周,第二周”等的标签。