【问题标题】:Extracting the top five maximum unique values提取前五个最大唯一值
【发布时间】:2014-10-20 17:58:02
【问题描述】:

我正在一个聚会上举办一个 Nerf 联赛,并希望我的电子表格显示前五名参赛者。

参赛者可以无限次参赛,并且只计算他们的最高分。参赛作品正在Google Sheets 上收集,前 5 名在kiosk screen 上发布。

这是一些示例数据:

- **全名,分数**
- 测试测试,3
- 测试2 测试2,1
- 测试3 测试3,10
- 测试4 测试4,3
- 测试5 测试5,42
- 测试5 测试5,500
- Test6 Test6,20

这是我到目前为止的公式(感谢tigeravatar):

=INDEX($A$2:$A$28,MATCH(1,INDEX(($B$2:$B$28=LARGE($B$2:$B$28,ROWS(I$1:I1)))*(COUNTIF(I$1:I1,$A$2:$A$28)=0),),0))

此公式显示所有个最大值 - 例如,如果一个人有 5 个条目高于其他人,则它们都将被计算在内。

“前五名”必须仅显示来自五个不同参赛者的得分最高的条目。

我需要怎么做才能只显示每个参赛者提供的最上面的条目?

【问题讨论】:

  • 在 Excel 中,您可以只是一个数据透视表。将名称拖到行;得分到值,并将值设置为显示 MAX
  • 是否可以仅在 Google 表格中完成所需的一切?你可以使用类似=QUERY(A2:B28,"select A, max(B) group by A order by max(B) desc limit 5 label max(B) ''",0)
  • 是的,我希望将所有内容都保留在 Google 电子表格中。看起来那个公式正是我需要的!谢谢 AdamL!
  • 感谢@pnuts,很高兴帮助詹姆斯。

标签: google-sheets max filtering google-sheets-query


【解决方案1】:

看来@AdamL 提供的公式符合要求:

=QUERY(A2:B28,"select A, max(B) group by A order by max(B) desc limit 5 label max(B) ''",0)

【讨论】:

    【解决方案2】:
    =QUERY(A2:B28,"select A, max(B) group by A order by max(B) desc limit 5 label max(B) ''",0)
    

    如果 col A 的单元格中有特殊字符,则函数的输出/结果不正确。

    例如,

    如果 A1 中的值为 HN_123_1/2,则输出不正确。这里的特殊字符是“_”和“/”。

    希望对您有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-29
      • 1970-01-01
      • 2017-06-11
      • 2012-06-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多