MS Excel中用什么方法可以获取用LARGE函数或SMALL函数返回的第N个最大值或最小值对应行的其它列值?

例如:

A B

2 甲

3 乙

3 丙

1 丁

公式:=LARGE(A1:A4,1)

=LARGE(A1:A4,2)

这两个公式返回的都是3,但我想要第一个公式返回“乙”,第二个公式返回“丙”,也就是说需要这个最大值对应的其它列值,这个怎么实现呢?

请高手解答!!!速盼!
例如这个,做一个排名表,从左边的表中得到右边的结果。原始数据表里的成绩和姓名都是未知的,不知道有几个成绩相同的人,也可能全都不同,也可能有好多个相同的,事先全都无法确定,这种情况怎样排名才能不出现第3、4、5名都是同一个人的逻辑错误?前提条件是用公式自动实现而不是人工排序。

如下图,在F1中输入公式

=INDEX(B:B,SMALL(IF(A:A=E1,ROW(A:A),888),COUNTIF(E$1:E1,E1)))&""

按【组合键】确认后下拉填充。

追问

这种方法似乎不行,请再看看我的补充问题!

追答

是你不行吧?把表格发过来试试。

追问

=INDEX(B:B,SMALL(IF(A:A=E1,ROW(A:A),888),COUNTIF(E$1:E1,E1)))&""
你上面这个公式中的E1从哪里来?是不是要人工挑出来填上?A列的数据全都是未知的,也许根本就不存在这个重复值,也可能这个重复值是其它值,也可能重复了很多次,都不可知。所以你这个前提假设就是没有依据的,再想想看。我的补充问题中已经给了一个样表,能适用吗?

追答

无论有无重复数据,不影响这个公式的使用。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-01-29
第一个=INDEX(B1:B4,MATCH(LARGE(A1:A4,1),A1:A4,0))
第二个(最后一个)=LOOKUP(1,0/(A1:A4=LARGE(A1:A4,2)),B1:B4)追问

这种方法似乎不行,请再看看我的补充问题!我并不知道第几个会是重复值,也许没有重复值,也许全都是,再帮忙分析一下!

相似回答