VLOOKUP与INDEX

时间:2016-05-02 21:24:38

标签: excel excel-formula vlookup

在Excel中,我正在尝试执行以下操作:

  

如果sheet1列1 = sheet2第2列,则返回 sheet2 列D中的值

我在如何做到这一点上磕磕绊绊,因为我发现的每个例子似乎都使用包含公式的工作表的列索引值。 (即sheet1)

我想:VLOOKUP(sheet1!A1,sheet2!A2:A11696,sheet2!4,FALSE)
我只能:VLOOKUP(sheet1!A1,sheet2!A2:A11696,4,FALSE)

在阅读其他主题后,我发现人们似乎建议使用 INDEX 。所以我试过

=INDEX(sheet2!A2:A11696, MATCH(sheet1!A1004,sheet2!D:D,FALSE))

这也不起作用。

3 个答案:

答案 0 :(得分:5)

你的VLOOKUP只引用一个ccolumn,它应该是3.并从B列开始

VLOOKUP(sheet1!A1,sheet2!B2:D11696,3,FALSE)

第一个标准是要查找的内容,sheet1!A1

第二个是找到要查找的值和要返回的值的范围。范围的第一列必须是将在其中找到条件的列。按照sheet1 column 1 = sheet2 column 2,然后在B列中开始范围。

由于列D列D中所需的值必须包含在范围内。

第三个是范围的哪一列是值。它不是列号本身,而是相对列号,在这种情况下,它是范围sheet2!B2:D11696中的第三列。

第四个强制完全匹配或相对匹配。 FALSE强制进行完全匹配。

如果您打算使用INDEX / MATCH:

=INDEX(sheet2!D2:D11696, MATCH(sheet1!A1,sheet2!B2:B11696,0))

MATCH部分返回在第2页的B列中找到A1的相对行号。

然后在INDEX中使用此数字,它会在列D的范围内找到相对行号并返回该值。

MATCH()中的0告诉Match找到完全匹配。

答案 1 :(得分:4)

INDEX / MATCH函数对应该如下所示。

=INDEX(sheet2!D:D, MATCH(sheet1!A1, sheet2!B:B, 0))

答案 2 :(得分:0)

从更一般的意义上讲,INDEX/MATCH方法的用法如下:

=INDEX(A:A, MATCH(B1, C:C, 0))

其中:

A:A =包含您需要查找的值的行或列。

B1 =您用来引用您尝试查找的值的索引(位置)的值。

C:C =包含与B1匹配的值的行或列。该范围的大小应与A:A的大小相匹配,但不是必需的。

0 =这只是意味着"完全匹配"。如果-1小于B1,则C:C表示匹配#34}。如果1大于B1C:C就意味着匹配。