在公司,有绩效考核,在学校,有各种考试,当每个人的EXCEL考核评分统计表出来之后,如何根据成绩的分数,自动提取出前十名的人名以及分数呢?有的同事说简单,排序一下就好,可是如果相同评分,不占名次呢?也就是说,前十名,可以是10个人,也可能是20个人

如下图,如何用EXCEL函数公式,根据总分,在大量的人员中,提取前十名的人员信息,因为人数不固定,可能是15人,也可能是20人

【职场数据分析利器,EXCEL实战函数专辑,很多人在学】

excel查找对应成绩并提取(动态提取指定名次信息)(1)

看到这个案例,很多EXCEL熟练者都会想到数组公式,是的,可以用数组公式去处理,但是对于EXCEL统计表,能不用数组公式的,尽量不要用,因为数组公式会大大拖慢表格的运行速度导致数据卡死

俗话说,思路决定出路,遇到这样的问题,最佳的方式是用辅助列,首先我们可以插入一个辅助列,比如是B列,而后输入公式=IF(G2>=LARGE($G$2:$G$700,10),1 MAX(B$1:B1),0),这个公式的意思是先用LARGE($G$2:$G$700,10)公式提取出第十个最大值的数值,也就是第十名,而后将比这个大的,自动形成一个1、2、3这样递增的序列

excel查找对应成绩并提取(动态提取指定名次信息)(2)

序列产生后,我们就可以用我们最常用的EXCEL函数,也就是VLOOKUP函数来进行数据提取,我们可以在全自动报表里面,姓名一列输入公式:=IFERROR(VLOOKUP(ROW(B1),原始数据!$B$1:$G$800,2,0),"")而后下拉,我们就可以看到,所有前十名的姓名,就全部一次性提取了出来,而且是动态的

excel查找对应成绩并提取(动态提取指定名次信息)(3)

同理,我们可以调整EXCEL公式的结构,去提取分数,公式==IFERROR(VLOOKUP(ROW(B1),原始数据!$B$1:$G$800,6,0),"")

excel查找对应成绩并提取(动态提取指定名次信息)(4)

学习大量EXCEL教程,一起掌握职场效率提升方案,欢迎关注,共同学习

,