我想要做的是,判断当前工作表中单元格D3
的内容是否存在于第一个工作表(在我的情况下名为“list”)的列A
中(它们总是存在于某个地方)。返回相应行中列C
的内容。
换句话说,如果找到匹配的单元格在第12
行 - 返回C12
中的数据。
我使用了以下语法,但似乎无法正确运行最后一部分。
=IF(ISERROR(MATCH(D3,List!A:A, 0)), "No Match", VLOOKUP(D3,List!A:A,1,TRUE))
如何修复这个公式?
我想要做的是,判断当前工作表中单元格D3
的内容是否存在于第一个工作表(在我的情况下名为“list”)的列A
中(它们总是存在于某个地方)。返回相应行中列C
的内容。
换句话说,如果找到匹配的单元格在第12
行 - 返回C12
中的数据。
我使用了以下语法,但似乎无法正确运行最后一部分。
=IF(ISERROR(MATCH(D3,List!A:A, 0)), "No Match", VLOOKUP(D3,List!A:A,1,TRUE))
如何修复这个公式?
您可以使用以下公式。
对于Excel 2007或更高版本:
=IFERROR(VLOOKUP(D3,List!A:C,3,FALSE),"No Match")
对于 Excel 2003:
=IF(ISERROR(MATCH(D3,List!A:A, 0)), "No Match", VLOOKUP(D3,List!A:C,3,FALSE))
注意:
VLOOKUP
中使用了List!A:C
,并从第3
列返回值。VLOOKUP
的第四个参数等于FALSE
,这种情况下VLOOKUP
只会找到一个精确匹配,并且List!A:C
的第一列中的值不需要排序(与使用TRUE
的情况相反)。
List!A:C,3,
表示你将在范围List!A:C
的第一列(即List!A:A
)中进行搜索,并从范围List!A:C
的第三列(即List!C:C
)返回相应的值。 - Dmitry Pavliv