LOOKUP函数给出奇怪的结果
在Excel中使用LOOKUP我想显示得分最高的单元格,但结果很奇怪。
例如:我的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
所以然后忘记大约5
和4
因为它期望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))