VLOOKUP,INDEX或LOOKUP?哪一个使用以及如何使用?

时间:2016-11-29 16:07:43

标签: excel excel-formula excel-2016

我想使用一个函数来引用我的INPUT与左侧列中的相应值,并使用右侧列中的值返回相应的OUTPUT。

Screenshot from my spreadheet

在屏幕截图中,我在单元格G7中使用INPUT为“1200”。我想在单元格A2:A8中输入查找“1200”的函数,并从C2:C8范围返回值“3/0”。

我希望看到的例子:

INPUT: 1200, OUTPUT: 3/0
INPUT: 3,    OUTPUT: 8
INPUT: 4/0,  OUTPUT: 2 

我可以输入一个函数来执行我想要的一个特定实例,但是在编写这个函数以处理我表中的所有实例时我都迷失了。

*注意:在示例中,我只使用“Copper-IN”和“Copper-OUT”列。

2 个答案:

答案 0 :(得分:1)

如果不知道2/0等代码的含义,很难理解这个问题。

我建议您将这些代码转换为数字值,如果可能的话。然后在Copper-INAluminium-IN列中仅使用数字值,按递增顺序排序(低于顶部)。

然后,使用Index-Match,您可以轻松查找输出。

=Index(CopperIn,Match(D8,CopperOut))

(或=Index($A$2:$A$5,Match(D8,$B$2:$B$5))没有命名范围。)

Demonstration of output

答案 1 :(得分:0)

在一般情况下,您应该可以使用VLOOKUP:

=VLOOKUP(G7, $A$2:$C$8, 3, False)

这将在A2:C8范围内查找G7的值,并从第3列返回相应的值(VLOOKUP始终是从左到右,并始终对范围/数组中的第一列进行索引)。

或者,合并IndexMatch函数:

=Index($C$2:$C$8, Match(G7, $A$2:$A$8, 0))

这基本上是相同的:返回C2:C8中的值,该行匹配在A2:A8中找到G7值的行。如果您使用非连续范围或需要从右向左搜索等,则组合Index/Match非常有用。

两个函数都将在A列中找不到G7中搜索到的值的错误值。您可以使用IfError函数包含上述任一项,以提供自定义错误文本,例如“未找到” ”

=IFERROR(VLOOKUP(G7, $A$2:$C$8, 3, False), G7&" isn't found!")

然而

您的A栏包含文字“范围”(例如> 350 - 600等),并且所有内置函数都无法解析。使问题进一步复杂化的是,您在A列中有一些不易分析的值(“2或更小”,“1或1/0”等)。

  

我可以输入一个函数来执行我想要的特定实例

如果你向我们展示了这个函数的样子,那将是非常有用的,可以使它适应更普遍的应用。