分享

INDEX函数来帮忙,周末不必再加班!

 EXCEL应用之家 2021-10-20


送人玫瑰,手有余香,请将文章分享给更多朋友

动手操作是熟练掌握EXCEL的最快捷途径!



有朋友问我这样一个问题,如何对下表进行排名。



排名问题我们在以前的帖子中也有过多次介绍。今天再次和大家一起分享一下这道题目。


01

我们利用INDEX函数配合MOD函数和LARGE函数即可解决问题。



在单元格I3中输入公式“=INDEX($A:$A,MOD(LARGE(B$3:B$10*100+ROW($3:$10),ROW(1:1)),100))”,三键回车并向右向下拖曳即可。

思路:

  • B$3:B$10*100+ROW($3:$10)部分,成绩扩大100倍并加上行号,是为了处理成绩相同时的情况。当成绩相同时,可以按排列的序号大小排列

  • 利用LARGE函数依次提取第1、2、3...大值

  • MOD函数求余,可以得到行号

  • 利用INDEX函数将姓名提取出来

这一类的排名问题,都有一个技巧,即将需要排名的数值扩大(比如100倍),再加上所对应的行号,这样就可以避免数值相同时容易出错的问题。


02

我们还可以试一试MATCH函数。



在单元格I3中输入公式“=INDEX($A$3:$A$10,MATCH(LARGE(B$3:B$10+ROW($A$3:$A$10)*0.1%,ROW(A1)),B$3:B$10+ROW($A$3:$A$10)*0.1%,))”,三键回车并向下向右拖曳即可。

思路:

  • B$3:B$10+ROW($A$3:$A$10)*0.1%部分,和上面的公式中B$3:B$10*100+ROW($3:$10)的作用是一样的,只不过,这次是将行号缩小了1000倍

  • 利用LAEGE函数依次提取出第1、2、3...大值

  • 利用MATCH函数查找到上面提取出来的数值在源数据中的位置

  • 最后利用INDEX函数返回正确结果

好了朋友们,今天和大家分享的内容就是这些了!喜欢我的文章请分享、转发、点赞和收藏吧!如有任何问题可以随时私信我哦!


-END-

长按下方二维码关注EXCEL应用之家

面对EXCEL操作问题时不再迷茫无助

我就知道你“在看”

推荐阅读

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多