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


其中sheet1列1 = sheet2列2,返回sheet2列D中的值


我对如何执行此操作感到困惑,因为我发现的每个示例似乎都在使用包含该公式的工作表的列索引值。 (即工作表1)

我要: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))


这也不起作用。

最佳答案

您的VLOOKUP仅引用一个列,应该为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(sheet2!D2:D11696, MATCH(sheet1!A1,sheet2!B2:B11696,0))


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

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

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

10-02 05:37