在 Excel 中搜索值,返回是或否

Col*_*ole 10 vba worksheet-function vlookup microsoft-excel microsoft-excel-2010

我有一本工作簿,有两个单独的工作表。我想知道工作表 B 中出现的值是否也出现在工作表 A 中,如果是,我想返回“是”。如果没有,我想返回一个“NO”。

(例如:工作表 A 是过期书籍的列表。工作表 B 是整个图书馆)。

在工作表 A 中,我有以下数据集:

     A
1  AB123CD
2  EF456GH
3  IJ789KL
4  MN1011OP 
Run Code Online (Sandbox Code Playgroud)

在工作表 B 中,我有以下数据集:

      A           Overdue 
1  AB123CD           ?
2  QR1516ST          ?
3  EF456GH           ?
4  GT0405RK          ?
5  IJ789KL           ?
6  MN1011OP          ?
Run Code Online (Sandbox Code Playgroud)

如果值存在于表 A 中,我将如何构造函数以正确查找?

我一直在使用 if()、vlookup() 和 match() 的组合,但似乎对多个工作表没有任何作用。

小智 19

您可以使用以下功能

=IFERROR(IF(MATCH(A1,Sheet1!$A:$A,0),"yes",),"no")
Run Code Online (Sandbox Code Playgroud)

从内而外开始

匹配,在 sheet1 列 A 中查找是否存在与当前工作表(sheet2)的单元格 A1 匹配的值。如果存在完全匹配,则返回行号。

if 语句。如果 match 返回某些内容(数字 1 或更大),则将其视为 true 并返回“yes”

如果错误。如果匹配未找到任何内容,则返回 na 错误。Iferror 使此返回最后一个“否”


Ekr*_*rkE 5

VLOOKUP 应该可以工作...

=IF(ISNA(VLOOKUP(A1,Sheet1!$A:$A,1,false)),"NO","YES")

如果没有找到匹配,VLOOKUP 返回 NA。所以我们看看它的结果是否是ISNA?然后返回 NO 否则返回 YES