2015-11-26 117 views
1

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

Example: my Excel table:

example : my excel table

从这个表我要确定谁得到了最大的比分,我用这个代码:

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" 

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

回答

0

你的第一个公式在做C4是找到5: C8,但随后在不按升序排列的列表中寻找5。搜索是二进制的 - 实际上它与中点3所以后来忘掉54因为它需要53所以继续搜索仅在范围(再次分割为两个下半年后比较5 )。它没有找到它,所以对最后一个条目(即1)的默认(可能不是真的有意),然后返回列B中相应的值。

我建议所有三个'等级'的公式,在公式之外指定'等级',比如G4中的1,G5中的2和G6中的3。然后应用:

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

这应返回johan当抄下来aan然后ngun

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

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

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

1

对于使用查找功能,必须对表中的数据进行排序。为了简单地测量值的值的第一次出现( - > MAX(C4:C8))使用匹配功能和选择,像这样适当的值:

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