EXCEL中对数据自动进行排序并提取前5个数据。高分求助

如题,并参考下图。如何对 F列 的数据就行排序比较,数值从大到小选出前5个,返回姓名和销售量,依次填入 B列和C列。 希望可以自动比对填入。F列数值更新,BC列会自动更新。求助各位大神!

B列公式=INDIRECT("E"&MATCH(C5,$F$5:$F$14,0)+4)
C列公式=LARGE($F$6:$F$14,ROW(A1))
思路如下:
第一步:首先计算C列的排序,利用LARGE函数求一组数据的最大值,利用ROW函数来做LARGE的第二个参数,这个是返回第N大的值
第二步:再利用MATCH来查找C列数据在F列数据的位置,+4是因为数据上方有4行
第三步:最后利用INDIRECT函数返回文字串所指的位置。
最后的效果图:



望采纳,谢谢

追问

你好,感谢你的回答,已验证,确实可以实现。
1、ROW(A1)是否采纳A1 中的数值?换个说法,如果A1中有其他值,是否有影响。

2、碰到销售量相同时,出现问题了,姓名只会提取第一个人的。

追答

row是返回行号的,不管那个单元格有没有内容都不影响的

相同肯定只能提前一个了

你要不就在G列做一个排名,这样就可以了

=rank(f5,$f$5:$f$24)排名公式

温馨提示:答案为网友推荐,仅供参考
相似回答