2014-05-21 20:08:24 +0000 2014-05-21 20:08:24 +0000
8
8

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

我有一个工作簿,有两个独立的工作表。我想知道工作表B中出现的值是否也会出现在工作表A中,如果是,我想返回 “是"。如果不是,我想返回 "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 ?

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

我如何构造函数以正确地查找表A中是否存在值?

我一直在玩弄if()、vlookup()和match()的组合,但似乎没有任何东西能在多个工作表中工作。

答案 (3)

18
18
18
2014-05-21 20:20:55 +0000

你可以使用以下函数

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

从内向外开始

匹配,在 sheet1 的 A 列中查看是否有一个与当前 sheet2 的单元格 A1 匹配的值。如果完全匹配,则返回行号。

if语句。如果match返回的东西(数字1或更大),则被视为true,并返回 “是”

iferror。如果match没有找到任何东西,则返回一个na错误。Iferror使这个语句返回最后一个 “否"。

4
4
4
2014-05-22 03:19:54 +0000

VLOOKUP应该是有效的…..

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

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

0
0
0
2017-12-06 18:51:48 +0000

你也可以使用COUNTIF语句与IF结合使用:

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

这将统计第一个工作表的A列中A1单元格的内容被发现的次数。如果这个数字大于0,则该项目在列表中,因此我们返回 “是",否则,如果COUNTIF返回0,则该项目没有被找到,我们返回 "否"。