Excel-提取前5个值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Excel-提取前5个值相关的知识,希望对你有一定的参考价值。

我想根据每个员工的销售额(没有数据透视表/自动过滤器)提取前5名玩家

请参阅我的输入和输出屏幕截图

Snapshot

任何建议,如何获得前五名(即使重复;如屏幕截图所示)

我已经验证了Extract Top 5 Values for Each Group in a List without VBA和其他一些链接。

提前感谢您的时间和考虑!如果我的要求不清楚和/或您有任何特定问题,请告诉我。

答案

这是我用来追踪前5位缺席者的方法...编辑以适合您的需求。

enter image description here

单元格A1中的公式:

=INDEX(A$13:A52,AGGREGATE(15,6,ROW($1:$40)/(B$13:B$52=B1),COUNTIF(B$1:B1,B1)))

[单元格B1中的公式:大(B $ 13:B $ 52,ROW())

另一答案

尝试这个。如您的样本中所示:

在单元格上E16

=VLOOKUP(LARGE($C$3:$C$12,ROW()-15),CHOOSE({2/1},$A$3:$A$12,$C$3:$C$12),2,FALSE)

在单元格上F16

=VLOOKUP(LARGE($C$3:$C$12,ROW()-15),CHOOSE({2/1},$B$3:$B$12,$C$3:$C$12),2,FALSE)

在单元格上G16

=VLOOKUP(LARGE($C$3:$C$12,ROW()-15),$C$3:$C$12,1,FALSE)

您可以将其向下拖动以对列表进行排序。希望对您有所帮助!

另一答案

使用Power Query的替代方法,这在Excel 2010 Professional Plus和所有更高版本的Excel中都可用。

步骤是:

  1. << [Add您的输入数据表到Power Query编辑器;
  2. 排序
  3. Sales,然后按Name1开始添加
  4. 索引列
  5. ]]
  6. Filter
  7. Index列以显示小于或等于5的值;
  8. Remove
  9. Index列,那么您应该具有以下内容:
    Demo

关闭并加载

输出表到新的工作表(默认情况下)。这里是功率查询

M代码

供您参考。使用的所有功能都在GUI中,因此应该简单明了。
let Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content], #"Changed Type" = Table.TransformColumnTypes(Source,{{"Employee", type text}, {"Month", type text}, {"Sales", type number}}), #"Sorted Rows" = Table.Sort(#"Changed Type",{{"Sales", Order.Descending}, {"Employee", Order.Ascending}}), #"Added Index" = Table.AddIndexColumn(#"Sorted Rows", "Index", 1, 1), #"Filtered Rows" = Table.SelectRows(#"Added Index", each [Index] <= 5), #"Removed Columns" = Table.RemoveColumns(#"Filtered Rows",{"Index"}) in #"Removed Columns"
让我知道您是否有任何疑问。干杯:)

以上是关于Excel-提取前5个值的主要内容,如果未能解决你的问题,请参考以下文章

DB2 分组后提取前5条数据

使用 Excel 数据搜索网站以提取结果,然后循环

在特定条件下是否可以从Excel值中提取数字?

表格中如何根据身份证号提取前6位的行政代码数字

echarts legend只截取前几个值

获取列中具有前 2 个值之一的所有行