检查一个Excel单元格是否存在于另一个工作表的某一列中 - 并返回不同列的内容

22

我想要做的是,判断当前工作表中单元格D3的内容是否存在于第一个工作表(在我的情况下名为“list”)的列A中(它们总是存在于某个地方)。返回相应行中列C的内容。

换句话说,如果找到匹配的单元格在第12行 - 返回C12中的数据。

我使用了以下语法,但似乎无法正确运行最后一部分。

=IF(ISERROR(MATCH(D3,List!A:A, 0)), "No Match", VLOOKUP(D3,List!A:A,1,TRUE))

如何修复这个公式?

1个回答

33

您可以使用以下公式。

对于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的情况相反)。

它成功了!=IFERROR(VLOOKUP(D3,List!A:C,3,FALSE),"No Match")我不是完全确定我理解 List!A:C(即 A:C 部分)。我认为这个函数的工作方式是 - 查找一列中的数据并返回另一列的内容(如果我只想要在第 A 列中搜索并始终返回第 C 或 D 列,而不要在那些列中进行搜索会怎样)。 - YelizavetaYR
1
List!A:C,3, 表示你将在范围 List!A:C 的第一列(即 List!A:A)中进行搜索,并从范围 List!A:C 的第三列(即 List!C:C)返回相应的值。 - Dmitry Pavliv
1
太棒了!谢谢你! - YelizavetaYR
多年后,仍然是一个绝妙的解决方案。谢谢! - hockey2112

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接