我想检查excel中另一个工作表列中是否存在一个列值?

时间:2014-01-29 14:14:22

标签: excel excel-vba excel-2007 vba

我的一张纸上有一列有30个位置,每个位置有12个代码Ex

LOC CODE
1     A
1     B
1     C 
1     D
2     A
2     B
2     C
2     D

还有另一张只有一列的纸张

CODE 
A 
B
C
D

我想知道第一张纸的第二列中的所有代码是否都存在于第二张纸中。另外,我想知道表2中的所有代码是否都存在于表1中。我怎么能在excel中做到这一点?

2 个答案:

答案 0 :(得分:2)

让您的代码位于Sheet1列中的B以及Sheet2范围内的A1:A10中,然后:

<强> 1)

  

我想知道第一张纸的第二列中的所有代码是否都存在于第二张纸中。

=SUM(IF(Sheet1!B:B<>"",ISNA(MATCH(Sheet1!B:B,Sheet2!A1:A10,0))*1))=0

2)

  

另外,我想知道表2中的所有代码是否都存在于表1中

=SUM(IF(Sheet2!A1:A10<>"",ISNA(MATCH(Sheet2!A1:A10,Sheet1!B:B,0))*1))=0

两个公式都会返回TRUE / FALSE

注意,因为它是数组公式,您应该按 CTRL + SHIFT + 评估它们ENTER

答案 1 :(得分:1)

如果你不想知道所有的都存在但是,如果有的话,那么它不是一个公式,如:

=IF(MATCH(B2,Sheet1!B:B,0)>0,"present")  
如果您的代码在每张表格的ColumnB中并且Sheet1被调整为适合,则C2中的

和复制可能适用。如果不存在,结果将显示#N/A