LOOKUP函数给出奇怪的结果

在Excel中使用LOOKUP我想显示得分最高的单元格,但结果很奇怪。

例如:我的Excel表格:

例如:我的Excel表

从这张表中我想确定谁得到最大的分数,我使用这个代码:

for biggest score no 1 "=LOOKUP(MAX(C4:C8),C4:C8,B4:B8)" for biggest score no 2 "=LOOKUP(LARGE(C4:C8,2),C4:C8,B4:B8)" for biggest score no 3 "=LOOKUP(LARGE(C4:C8,3),C4:C8,B4:B8) " 

结果很奇怪:

 for biggest score no 1 it show "mordi" for biggest score no 2 it show "mordi" for biggest score no 3 it show "ngun" 

任何人都可以纠正我,我使用错误的function?

你的第一个公式正在做的是在C4:C8中find5 ,但是在没有按升序排列的列表中寻找5 。 search是二进制的 – 实际上它比较5与中间点3所以然后忘记大约54因为它期望5 3 之后,所以只在范围的后半部分继续search(再次将其分成两部分)。 它没有find它,所以默认(可能不是真的有意)到最后一个条目(即1 ),然后返回相应的值列B中的那个。

我build议所有三个“级别”都有一个公式,在公式外面指定的“排名”,G4中的2 ,G5中的2和G6中的3 。 然后申请:

 =INDEX(B$4:B$8,MATCH(LARGE(C$4:C$8,G4),C$4:C$8,0)) 

这应该返回johan ,然后复制下来,然后ngun

它使用LARGE,就像你一样,但是在MATCH函数中findColumnC中所需分数的相对位置,然后返回ColumnB中范围内同一个相对位置的内容。

VLOOKUP不适合,因为结果是在table_array的左边。

如果得分不在“反向排列”,则可能更容易看到发生了什么。

为了使用查找function,必须对表中的数据进行sorting。 要简单find一个值的第一次出现( – > max(C4:C8)),使用匹配函数并select适当的值,如下所示:

 =INDIRECT("B" & MATCH(MAX(C4:C8),C4:C8,0))