在Excel中查找前15个或前10%最高值

时间:2014-03-29 15:10:03

标签: excel excel-formula

所以我会有一个玩家列表(幻想棒球),包括他们所在的团队和他们的薪水 - 总共3列。球员数量范围可能在100-238范围内。 238是最大的。

我需要找到前15%或10%最贵的玩家,一旦我们完成起草,哪个更高。因此,我要么有15名玩家(,如果我的名单是< = 150 ),或者一旦达到155及更高(因为我们正在进行四舍五入)将是10%。

因为基于我的最大值,我知道我可以从15-24个玩家中选择,我在网格中有以下公式并且只拖了24行。第I栏的编号为1-24。

=IF(OR(COUNTIF($B$2:$B$501,"*")  < 150, I3 <= ROUND(COUNTIF($B$2:$B$501,"*") * 0.1,2)),INDEX($B$2:$B$211,MATCH(1,INDEX(($D$2:$D$211=LARGE($D$2:$D$211,ROWS(J$1:J1)))*(COUNTIF(J$1:J1,$B$2:$B$211)=0),),0)),"-")

然而,当我用测试数据测试时,我不断获得重复的名称,这是错误的。

我错的任何想法?

1 个答案:

答案 0 :(得分:1)

困难是重复工资.......这可以容纳......说数据就像:

pic

显然,克里斯托弗,马克和乔治都有着相同的薪水......在 E2 中输入:

=RANK(D2,$D$2:$D$23,0)+COUNTIF($D$2:$D2,D2)-1

并复制...........这会为每条记录分配一个唯一的ID .....在 G2 中输入:

=MATCH(ROW()-1,$E$2:$E$23,0)

并在 H2 中复制...输入:

=OFFSET($B$1,G2,0)

并向下复制......在 I2 中输入:

=OFFSET($C$1,G2,0)

并向下复制......最后在 J2 中输入:

=OFFSET($D$1,G2,0)

并复制...........我们现在有:

next

这是一个“按公式排序”..........从您选择的列 H 中选择多个名称!