20

我有一个 excel 文件,其中一列对应于球员的姓名,另一列对应于棒球统计 OPS。

 OPS        Player
    1.000   player 1
    5.000   player 2
    3.000   player 3
    1.000   player 4
    ---     player 5
    4.000   player 6
    1.000   player 7
    ---     player 8
    1.000   player 9
    ---      player 10
    1.333   player 11
    1.000   player 12
    2.000   player 13
    ---     player 14
    ---     player 15
    ---     player 16
    1.500   player 17
    3.500   player 18
    1.500   player 19
    ---     player 20
    1.000   player 21
    1.000   player 22
    0.000   player 23
    0.000   player 24
    0.500   player 25
    0.000   player 26
    0.667   player 27

现在,在 excel 中,我需要弄清楚如何创建一个公式,该公式返回一列具有前 5 个 OPS 值的玩家姓名。因此,我希望查询在 excel 中返​​回一个 5 x 1 列向量。我可以使用什么单元格公式来实现这一目标?

此外,鉴于它们将重复 OPS 值,我需要表达式对平局具有鲁棒性。

4

5 回答 5

26

给定这样的数据设置:

按标准排名前 5

单元格 D2 中的公式并复制下来是:

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

即使玩家之间存在并列的 OPS 分数,此公式也将起作用。

于 2013-08-30T19:12:28.213 回答
15

您想在这里查看 3 个功能:

我在 Excel 中运行了一个示例,您的 OPS 值在 B 列中,玩家在 C 列中,见下文:

Excel 示例

  • 在单元格 A13 到 A17 中,插入值 1 到 5 以指定第 n 个最高值。
  • 在单元格 B13 中,添加了以下公式:=LARGE($B$2:$B$11, A13)
  • 在单元格 C13 中,添加了以下公式:=INDEX($C$2:$C$11,MATCH(B13,$B$2:$B$11,0))
  • 这些公式根据 A13 中的值获得最高排名的 OPS 和 Player。
  • 只需选择并拖动以将这些公式复制到接下来的 4 个单元格,这些单元格将引用 A 列中的相应排名。
于 2013-08-30T09:10:41.587 回答
6

将数据放入数据透视表并对其进行前 n 个过滤器

Excel 演示

于 2013-08-30T09:17:02.357 回答
5
=VLOOKUP(LARGE(A1:A10,ROW()),A1:B10,2,0)

在工作表的第一行键入此公式,然后向下拖动到第五行...

它是一个简单的,它在数组vlookup中找到值,函数给出行号(第一行 = 1,第二行 = 2 等等),进一步是查找标准。large(A1:A10)ROW()

注意:您可以根据需要将 1、2、3、4、5 替换ROW()为 1、2、3、4、5……如果您在第一行以外的地方有此公式,请确保从 中减去一些数字row()以获得准确的结果。

编辑:检查平局结果

这是可能的,您需要在工作表中添加一个帮助列,这里是链接。如果事情看起来很混乱,请告诉我......

于 2013-08-30T08:56:28.063 回答
1

在我看来,PT(如@Nathan Fisher)的情况是“不费吹灰之力”,但我会添加一列以方便按等级(向上或向下)排序:

SO18528624 第一个例子

OPS两次作为 VALUES (Sum of) 输入,所以我重命名了列标签以更清楚地说明哪个是哪个。PT 与数据在不同的工作表中,但可以在同一个工作表中。

通过右键单击在该列中选择的数据点设置排名,Show Values As...并且Rank Largest to Smallest(还有其他选项)将 Base 字段设置为Player,过滤器是 a Value FiltersTop 10...一个:

SO18528624 第二个例子

一旦在 PT 中,该功能的强大功能可以很容易地应用于以许多其他方式查看数据,而无需更改公式(没有公式!)。

如果过滤器中包含的最后一个位置出现平局,则包含两个结果(前 5 名将显示六个或更多结果)。仅两名玩家之间排名第一的平局将显示1 1 3 4 5为前 5 名。

于 2017-08-21T01:24:50.550 回答