Excel 如何检查两个列表是否匹配

Excel 如何检查两个列表是否匹配,excel,excel-formula,vba,Excel,Excel Formula,Vba,我想知道在Excel中检查两个文本列表的最佳方法是什么。我有一个列表,其中有我的硬盘上存在的文件名,我希望对照第二个列表来参考这些文件名,我应该收到这些文件名,以确保它们没有丢失 我确实试过了 =VLOOKUP(A2,Sheet9!A:B,2,FALSE) 虽然这会返回一个值,但它与列表中的值不匹配 如果您需要更多的澄清,请让我知道。 我现在不能发布图片,所以希望这个例子能澄清一些问题 假定已发送的文件列表:- CC-2245-SXV.PDF CC-2222-SXV.PDF CC-0001-

我想知道在Excel中检查两个文本列表的最佳方法是什么。我有一个列表,其中有我的硬盘上存在的文件名,我希望对照第二个列表来参考这些文件名,我应该收到这些文件名,以确保它们没有丢失

我确实试过了

 =VLOOKUP(A2,Sheet9!A:B,2,FALSE)
虽然这会返回一个值,但它与列表中的值不匹配

如果您需要更多的澄清,请让我知道。 我现在不能发布图片,所以希望这个例子能澄清一些问题

假定已发送的文件列表:-

CC-2245-SXV.PDF CC-2222-SXV.PDF CC-0001-SXV.PDF DF-2322-CDSC.PDF CC-6221-SXV.PDF 我的硬盘上的文件名:-

CC-0001-SXV.PDF CC-0161-SXV.PDF CC-2221-CCXV.PDF CC-6221-SXV.PDF DF-2322-CDSC.PDF
我想自动化的原因是因为我要处理1000个文件

我建议您使用VBA函数:

Function FULLMATCH(Range1 As Range, Range2 As Range) As Boolean

    Dim cell As Range
    FULLMATCH = False

    For Each cell In Range1.Cells
        If (cell.Value <> Range2.Cells(cell.Row, cell.Column).Value) Then
            Exit Function
        End If
    Next

    FULLMATCH = True
End Function

从长远来看,shA.t的答案可能更容易,但如果你想选择Vlookup,你可以这样做:

=IF(ISNA(VLOOKUP(HDD,Sent,1,FALSE)),CONCATENATE("File not sent: ",HDD),VLOOKUP(HDD,Sent,1,FALSE))
在本例中,我将硬盘上的文件列表放在一个命名范围内(仅命名为HDD),将已发送文件列表放在一个命名范围内(命名为sent)。您可以同样轻松地用类似Sheet1的内容替换命名范围!B1:B5,如果你想的话

如果它无法在HDD列表中的已发送列表中找到文件,因此返回N/a,它将返回一条消息,告诉您HDD列表中的哪个文件未发送

如果您计划在一张工作表上只包含三列HDD列表、发送列表和公式,则可以删除其余部分并使用以下内容:

=VLOOKUP(HDD,Sent,1,FALSE)

但是,如果您将两个列表放在单独的工作表或单独的excel文件中,则第一个公式将起作用,这样可以更容易地查看丢失的文件。

请给出您的初始输入以及基于该输入的预期输出。很抱歉,不,总共有两列。
=VLOOKUP(HDD,Sent,1,FALSE)