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

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

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

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

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

     A
1  AB123CD
2  EF456GH
3  IJ789KL
4  MN1011OP 

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

      A           Overdue 
1  AB123CD           ?
2  QR1516ST          ?
3  EF456GH           ?
4  GT0405RK          ?
5  IJ789KL           ?
6  MN1011OP          ?

我该如何构造函数才能正确查找表 A 中是否存在这些值?

我一直在尝试使用 if()、vlookup() 和 match() 的组合,但对于多个工作表似乎没有什么效果。

答案1

您可以使用以下函数

=IFERROR(IF(MATCH(A1,Sheet1!$A:$A,0),"yes",),"no")

从内到外

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

if 语句。如果 match 返回某个值(数字 1 或更大),则视为 true 并返回“yes”

iferror。如果 match 没有找到任何内容,则返回 na 错误。iferror 使它返回最后一个“no”

答案2

VLOOKUP 应该可以工作...

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

如果未找到匹配项,VLOOKUP 将返回 NA。因此,我们查看其结果是否为 ISNA?则返回 NO,否则返回 YES

答案3

您还可以使用COUNTIF与 组合的语句IF

=IF(COUNTIF(WorksheetA!$A:$A,WorksheetB!$A1)>0,"Yes","No")

这将计算单元格 A1 的内容在第一个工作表的 A 列中出现的次数。如果次数大于 0,则该项目在列表中,因此我们返回“是”,否则,如果返回COUNTIF0,则未找到该项目,我们返回“否”。

COUNTIF每天都使用它来识别一个列表和另一个列表中的项目(以及重复项)。

相关内容