Excel高手交流:如何不排序提取排名前三的学生姓名? |
您所在的位置:网站首页 › 如何按分数排序excel › Excel高手交流:如何不排序提取排名前三的学生姓名? |
课件请到QQ群:920864360下载 如果没有相同分数,可以通过以下函数公式完成学生姓名提取: =INDEX($A$2:$A$68,MATCH(LARGE($B$2:$B$68,ROW(A1)),$B$2:$B$68,0)) 但正如下图所展示的那样,但存在相同分数的时候,这个公式就不管用了,出现了重名: 按照LXP老师的要求相同分数按排列顺序先后记名次,我有两种解决方法: 【方法一】 函数公式: =INDEX($A$2:$A$67,MATCH(LARGE($B$2:$B$67,ROW(A1)),INDEX(((COUNTIFS($F$1:F1,$A$2:$A$67)>0)*-100+1)*($B$2:$B$67),),0),0) 函数思路: INDEX(((COUNTIFS($F$1:F1,$A$2:$A$67)>0)*-100+1)*($B$2:$B$67),)这部分函数用于将B2:B67区域中的分数进行重新构建。譬如,成绩99的第一名学生姓名返回后,他的分数就会被乘以-99,就不会再以99分的分数去争抢第二名。 【方法二】 首先我们先通过函数公式=LARGE($B$2:$B$68,ROW(A1))统计前三名分数。 然后通过以下函数公式完成前三名学生姓名查询: =OFFSET(A$1,SMALL(IF($B$2:$B$68=F2,ROW($1:$67)),COUNTIF($F$2:F2,F2)),)(数组公式,按ctrl+shift+enter三键完成) 函数思路: 用IF函数把所有等于某个分数的行号找出,然后通过COUNTIF($F$2:F2,F2)统计F2:F4中该分数出现的次数,并由此确定small函数返回第几小的行号,这样就避免了分数相同,姓名相同。 不知对于这样不排序提取前三名姓名的需求,你还有哪些做法?欢迎留言分享。返回搜狐,查看更多 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |