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
表示”匹配“。