【问题标题】:using excel rank function based on a dynamic adjacent column value使用基于动态相邻列值的 excel rank 函数
【发布时间】:2014-02-01 22:13:45
【问题描述】:

假设; 我有下表:

Group   Nam ID  Score    Rank
London  B   1   88
London  C   2   7
London  A   3   45
London  D   4   23
London  E   5   2
London  F   6   56
Sydney  C   1   7
Sydney  B   2   98
Sydney  A   3   12
Tokyo   R   1   45
Tokyo   Z   2   23
Tokyo   A   3   56
Tokyo   G   4   86
Tokyo   E   5   19

我想用公式填充排名列,以便我可以单独获得每个组的排名。我目前使用的公式是排名列的第一行是:

=RANK(D2,$D$2:$D$7,1)

我可以将公式拖到伦敦组的末尾,但对于悉尼组或任何新组,我正在输入一个新公式来定义排名公式的参考范围参数。

有什么简单的方法可以做到这一点吗?这样我就可以将单个公式输入到 Rank 列的第一行并拖动到表格... 我要这样做超过 17000 条记录。 一些规则; group 列排序,id 列升序。

谢谢

【问题讨论】:

    标签: excel vba rank


    【解决方案1】:

    一些规则:group列排序,id列升序。

    试试这个公式:

    =RANK(D2,INDEX(D:D,MATCH(A2,A:A,0)):INDEX(D:D,MATCH(A2,A:A,0)+COUNTIF(A:A,A2)-1),1)

    A:A 是您的“组”列。

    【讨论】:

    • 说#name?当公式放
    • 我现在有什么需要做的吗?
    【解决方案2】:

    一种可能性是在复制的第 2 行中使用此公式

    =COUNTIFS(A:A,A2,D:D,"<"&D2)+1

    通过计算与当前行在同一组中且分数低于当前行分数的行,您可以有效地获得“升序排名”,但排名从零开始,因此 +1 使排名从 1 开始平常心

    simoco's 解决方案对于排序的值可能更有效 - 即使没有排序也有效

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-27
      • 1970-01-01
      • 2017-08-13
      • 2017-12-30
      • 2017-12-30
      相关资源
      最近更新 更多