【问题标题】:Rank duplicate text values对重复的文本值进行排名
【发布时间】:2014-07-28 23:27:44
【问题描述】:

环顾四周,但无法完全使其正常工作。我认为这很容易,但是匹配和索引功能让我很头疼。

这是一个例子。我有三列数据:

Name    Date    Score Desired Output 
Peter   8/11    80        Wrong Day 
John    8/12    50        1 
Peter   8/12    40        1 
Sarah   8/12    30        1 
Peter   8/12    20        2 
Lindsay 8/12    5         1 
Peter   8/12    3         3 

查看所需的输出。简而言之,我想查看列表(我已按分数对其进行排序)并为我提供属于一个人的所有分数,以及该分数在所需日期的排名。所以我想在某一天(在这种情况下为 8/12)查看所有人,然后按人对分数进行分组,并返回该人的分数排名。我会知道任何带有“1”的东西都是那个人在 8/12 上的最高分。

有什么想法吗?宁愿不使用数据透视表。想要 D 列的公式

【问题讨论】:

    标签: excel indexing match ranking countif


    【解决方案1】:

    在单元格 D2 中并向下复制(调整范围以适合您的实际数据):

    =IF(B2=--"8/12",MATCH(C2,INDEX(LARGE(INDEX(($A$2:$A$8=A2)*($B$2:$B$8=--"8/12")*$C$2:$C$8,),ROW($1:$99)),),0)+COUNTIFS($A$1:$A1,A2,$B$1:$B1,--"8/12",$C$1:$C1,C2),"Wrong Day")
    

    如果您有要输入所需日期的单元格,请将 --"8/12" 的所有实例替换为包含日期的单元格引用。如果这样做,请确保使用绝对引用 $

    如果一天和一个人的行数超过 99,请增加 ROWS($1:$99),这样 99 就足够大,可以容纳一天和一个人的最大行数。

    公式的COUNTIFS 部分用于决胜局,因此后续相同的数字将排名较低(数字较高)而不是排名相同。例如,如果 8/12 上的第二个 Peter 条目也是 40 而不是 20,则公式仍会将该行填充为 2,而不是在 1 处具有并列排名。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-03-25
      • 1970-01-01
      • 2021-04-15
      • 1970-01-01
      • 2012-02-28
      • 1970-01-01
      • 1970-01-01
      • 2020-12-27
      相关资源
      最近更新 更多