LOOKUP函数给出了奇怪的结果

时间:2015-11-26 22:26:02

标签: excel indexing excel-formula excel-2007 worksheet-function

在Excel中使用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"

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

2 个答案:

答案 0 :(得分:1)

要使用查找功能,必须订购表中的数据。要简单地找到值的第一个出现( - >> max(C4:C8)),请使用匹配函数并选择适当的值,如下所示:

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

答案 1 :(得分:1)

您的第一个公式是在C4:C8中查找5,然后在不按升序排列的列表中查找5。搜索是二进制的 - 实际上它会将5与中间点3进行比较,因此会忘记54,因为它希望5 3之后,只在范围的后半部分继续搜索(再次将其分成两部分)。它没有找到它所以默认(可能不是故意)到最后一个条目(即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的左侧。

如果不是“排名”的分数相反,可能更容易看到发生了什么。