Excel 将第一列与其他三列进行比较。在最后一列中显示不匹配数据
我有下表。A列基本上是主数据。 列B、C和D将包含列A中的一些数据。列B、C和D可以有公共数据 我想将数据列A与列B、C和D进行比较。 在“结果”列中,显示所有不匹配数据 你可以使用这个“大”数组公式:Excel 将第一列与其他三列进行比较。在最后一列中显示不匹配数据,excel,Excel,我有下表。A列基本上是主数据。 列B、C和D将包含列A中的一些数据。列B、C和D可以有公共数据 我想将数据列A与列B、C和D进行比较。 在“结果”列中,显示所有不匹配数据 你可以使用这个“大”数组公式: =INDEX($A$1:$A$10;SMALL(IF(NOT(COUNTIF($B$1:$B$2;$A$1:$A$10)+COUNTIF($C$1:$C$3;$A$1:$A$10)+COUNTIF($D$1:$D$2;$A$1:$A$10));ROW($A$1:$A$10)-ROW($A$1)+
=INDEX($A$1:$A$10;SMALL(IF(NOT(COUNTIF($B$1:$B$2;$A$1:$A$10)+COUNTIF($C$1:$C$3;$A$1:$A$10)+COUNTIF($D$1:$D$2;$A$1:$A$10));ROW($A$1:$A$10)-ROW($A$1)+1;"");ROW(A1)))
在你想得到第一个公式的地方写下公式,然后复制下来得到其他公式
这是一个数组公式,所以不要忘记按Ctrl-Shift-Enter键
根据您的区域设置,您可能需要将字段分隔符“;”替换为“,”
这一个更小,仍然有效:
=INDEX($A$1:$A$10;SMALL(IF(NOT(COUNTIF($B$1:$D$3;$A$1:$A$10));ROW($A$1:$A$10)-ROW($A$1)+1;"");ROW(A1)))
尝试一下:
Sub MissingItems()
Dim N As Long, I As Long, J As Long, V As String
Dim r As Range
N = Cells(Rows.Count, 1).End(xlUp).Row
J = 1
For I = 1 To N
V = Cells(I, 1).Value
Set r = Nothing
Set r = Range("B:D").Find(V, After:=Range("B1"))
If r Is Nothing Then
Cells(J, 5).Value = V
J = J + 1
End If
Next I
End Sub