VLOOKUP vs INDEX

在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)) 

这也不pipe用。

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

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

第一个标准是要查找什么, sheet1!A1

第二个是find的值和要返回的值的范围。 范围的第一列必须是标准将被find的列。 按照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部分返回相对的行号,其中A1在第二页的列B中find。

然后在INDEX中使用这个数字,它在D列的范围内find相对的行号并返回该值。

MATCH()中的0指示匹配查找完全匹配。

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

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

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

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

哪里:

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

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

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

0 =这意味着“完全匹配”。 如果B1小于C:C-1表示“匹配:如果B1大于C:C表示”匹配“。