如何在excel中获取某列最大值前3位所对应的另一列的值,如:

姓名 人数 比例
张1 13 5.65
张2 16 14.16
张3 0 0
张4 13 5.88
张5 25 22.12
张6 1 0.2
张7 0 0
张8 45 45.45
张9 39 68.42
张10 2 0.72
张11 9 1.82
张12 0 0
张13 3 1.42

要获取第三列“比例”中前三:68.42、45.45、22.12,对应的值分别为张9、张8、张5。用什么函数可以在3个单元格中显示出“张9、张8、张5“ ?

我没有好办法,有个笨办法
一、把比例列移到最前,
=VLOOKUP(LARGE(A:A,ROW(A1)),A:B,2,0) 下拉二格

二、把比例列移到最前,在其后插入二个列
b2=IF(A2=MAX(A:A),"",A2) 下拉公式
c2=IF(B2=MAX(B:B),"",B2) 下拉公式
老大的对应数据=VLOOKUP(MAX(A:A),A:D,4,0)
老二的对应数据=VLOOKUP(MAX(B:B),B:D,3,0)
老三的对应数据=VLOOKUP(MAX(C:C),C:D,2,0)
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-06-21
在D2中输入:
=INDEX(A:A,MATCH(LARGE(C:C,ROW(A1)),C:C,0))
下拉即可,该公式可拓展数据区域!本回答被提问者采纳
第2个回答  2012-06-21
最大值张9: =LOOKUP(MAX(C1:C100),C1:C100,A1:A100)
第二大值张8: =LOOKUP(LARGE(C1:C100,2),C1:C100,A1:A100)
第三大值张5: =LOOKUP(LARGE(C1:C100,3),C1:C100,A1:A100)
相似回答