2

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

=RANK.EQ(值,唯一(list_of_values))

我不知道如何在公式中获取唯一值。我已经看到了有关如何将唯一值输出到新行的答案,但是我不需要打印值,所以我希望有一个更简单的解决方案。

例如,使用类似的列表

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

编辑:

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

4

3 回答 3

2

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

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

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

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

于 2013-10-19T09:41:59.540 回答
1

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

假设您的日期在A1:A10

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

将该公式复制到B10

C1包含这个公式: =B1

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

将该公式复制到C10

您也可以使用该RANK.EQ函数代替RANK.

于 2013-10-18T21:28:17.737 回答
0

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

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

给出可用于制作“第 1 周、第 2 周”等标签的数字。

于 2013-10-19T00:08:41.797 回答