2016-09-26 142 views
0

我有2个具有唯一标识符的数据选项卡。标识符没有任何特定的顺序。我需要我的查找/索引/匹配,以显示标签2中不存在的所有标识符。Excel - 按顺序查找不匹配的数据

原因:我工作的地方,他们使用的系统无法传输数据。我必须查看哪些数据与系统当前的数据进行了比较。任何数据丢失,我将需要添加到新系统。

示例;

Tab1 Column A: 
123456, 
654321, 
789456, 
456789. 

Tab2 Column B: 
654321, 
123456, 
456789. 

在标签3,我希望Excel告诉我,789456不存在于表2 正如你可以在上面的例子中看到的,唯一的标识符可以按任意顺序排列,因此,我不能把两者列并排,并要求做2之间的匹配 - 我需要它来查看整个列。

我见过假设A列在B列

的顺序相匹配的所有教程我有70000行去。

任何帮助,将不胜感激。

在此先感谢。

回答

0

要使用公式完成此操作,您需要在第一个选项卡中使用助手列。

在空柱中,我使用柱B,把下面的第二行中:

=IF(ISERROR(VLOOKUP(A2,Sheet2!B:B,1,FALSE)),MAX($B$1:B1)+1,"") 

这将创建在片材2未发现的那些递增数字列。

enter image description here

在这一点上,你可以在新列只过滤了任何非空白,让你列表。

如果你想在第三个选项卡一个公式来做到这一点,然后用这个公式是指第一个选项卡上的辅助柱:

=IFERROR(INDEX(Sheet1!A:A,MATCH(ROW(1:1),Sheet1!B:B,0)),"") 

然后复制/向下拖动足以获得空白。

enter image description here

7万级的项目我会避免数组公式,因为它会减慢计算下来,甚至可能会崩溃Excel中。

0

你可以尝试使用这样的事情:

=IFERROR(VLOOKUP(<value cell>, 'Tab2'!B:B, 1, FALSE), FALSE)<>FALSE 

复制所有从标签1列中的值代入卡口3 A列在标签3列B,粘贴上述公式中的每一行中哪里有A列中的值,使用引用A列中的单元格和与值单元格相同的行。该公式将尝试从标签1的标签2中查找值。如果缺失,它将生成一个由IFERROR函数捕获的错误,该错误将返回FALSE而不是让错误转义。最后,如果该值存在于选项卡2中,则FALSE将被拒绝返回TRUE;如果选项卡2中缺少该值,则返回FALSE。

从这一点可以用一个柱过滤器选项卡3只看到具有TRUE值的那些行,即将只显示你存在于两个选项卡1和标签2.

0

Soulution此值是COUNTIF()式将是:

=COUNTIF(Sheet1!A:A,Sheet2!A1) 

施加,对于所有行之后,只筛选那些具有值0。

0

这个宏将在Sheet3产生紧凑列表:

Sub WhatsMissing() 
    Dim s1 As Worksheet, s2 As Worksheet, s3 As Worksheet 
    Dim r1 As Range, N As Long, K As Long, i As Long 
    Dim v As Variant 

    Set s1 = Sheets("Sheet1") 
    Set s2 = Sheets("Sheet2") 
    Set s3 = Sheets("Sheet3") 
    Set r2 = s2.Range("B:B") 

    K = 1 
    N = s1.Cells(Rows.Count, "A").End(xlUp).Row 
    With Application.WorksheetFunction 
     For i = 1 To N 
      v = s1.Cells(i, "A").Value 
      If .CountIf(r2, v) = 0 Then 
       s3.Cells(K, "A").Value = v 
       K = K + 1 
      End If 
     Next i 
    End With 
End Sub