简单,Excel,=LOOKUP(xxxxx),未返回正确的值

简单,Excel,=LOOKUP(xxxxx),未返回正确的值

好吧,这很令人愤怒,因为我知道这应该有效......

我在 A 列中列出了某些特征。每种特征在 B 列中都有对应的值,在 C 列中也有该值的数字指示符。如下所示:

|   A   |   B   |   C   |
| Trait1| Value |Numeric|
| Trait2| Value |Numeric|
| Trait3| Value |Numeric|

B 列中可用的值为:Amazing、Good、Average、Marginal、Terrible

我正在寻找的是应用于 C 列的 2 到 -2 的范围。

我以前在类似情况下使用过并且对我有用的方法是:

=LOOKUP(C1,{"Amazing","Good","Average","Marginal","Terrible"},{2,1,0,-1,-2})

当我输入 Amazing、Average、Marginal 和 Terrible 时,它​​运行正常并返回正确的数字...但出于某种原因,Good 返回 0 而不是 1。

我使用列表中的验证来获取 B 值,因此不存在拼写或间距错误。您觉得如何?

答案1

由于某种原因,Lookup 已被弃用。来源12

lookup_vector 中的值必须按升序排列。例如,-2、-1、0、1、2 或 AZ 或 FALSE、TRUE。如果不这样做,LOOKUP 可能无法给出正确的值。大写和小写文本是等效的。

答案2

函数中查找的值lookup(查找向量)必须按升序排列。然后使结果向量匹配。我认为您会发现以下内容按预期工作:

=LOOKUP(B1,{"Amazing","Average","Good","Marginal","Terrible";2,0,1,-1,-2})

您可能希望切换到vlookuphlookup并将列表保存在单独的工作表中。将“False”作为最后一个参数提供给其中任何一个将允许您在未排序的列表中进行查找。

编辑以添加:我还将您的更改c1b1适合您的示例。

相关内容