在Excel中使用LOOKUP我想显示分数最高但结果很奇怪的单元格。
从那张桌子我想确定谁获得最高分,我使用这段代码:
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 :(得分:1)
要使用查找功能,必须订购表中的数据。要简单地找到值的第一个出现( - >> max(C4:C8)),请使用匹配函数并选择适当的值,如下所示:
=INDIRECT("B" & MATCH(MAX(C4:C8),C4:C8,0))
答案 1 :(得分:1)
您的第一个公式是在C4:C8中查找5
,然后在不按升序排列的列表中查找5
。搜索是二进制的 - 实际上它会将5
与中间点3
进行比较,因此会忘记5
和4
,因为它希望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的左侧。
如果不是“排名”的分数相反,可能更容易看到发生了什么。