在 Excel 中使用 LOOKUP 我想显示得分最高但结果很奇怪的单元格。
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"
谁能纠正我,我是否使用了错误的功能?
最佳答案
你的第一个公式正在做的是找到 5
在 C4:C8 中,然后寻找 5
在一个不按升序排列的列表中。搜索是二进制的 - 实际上它比较 5
中点3
所以然后忘记了5
和 4
因为它期望 5
在 3
之后所以只在范围的后半部分继续搜索(再次将其分成两部分)。它没有在那里找到它,因此默认(也许不是真的故意)最后一个条目(即 1
)然后在 B 列中返回相应的值。
我建议为所有三个“等级”使用一个公式,并在公式之外指定“等级”,例如 1
在 G4 中,2
在 G5 和 3
在 G6。然后申请:
=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 的左侧。
如果分数不是相反的“排名”,可能更容易看到正在发生的事情。
关于excel - LOOKUP 函数给出奇怪的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33947826/