Excel 在列中查找匹配值并通过vlookup或Address match进行更新

Excel 在列中查找匹配值并通过vlookup或Address match进行更新,excel,match,vlookup,matching,Excel,Match,Vlookup,Matching,我对我遇到的问题有一个简单的解释 A列:100个名称的列表(每个名称存在2次) B列:与名称关联的电子邮件地址(每个名称都有电子邮件地址) 例如: A1: James B1:oldmail@hotmail.com A10: James B10:newmail@hotmail.com 所以我想得到这个==>> A1:James B1:newmail@hotmail.com 基本上,当A列中的两个值匹配时,我想使用vlookup或AddressMatch来更

我对我遇到的问题有一个简单的解释

A列:100个名称的列表(每个名称存在2次) B列:与名称关联的电子邮件地址(每个名称都有电子邮件地址)

例如:

      A1: James B1:oldmail@hotmail.com

      A10: James B10:newmail@hotmail.com
所以我想得到这个==>>

      A1:James B1:newmail@hotmail.com
基本上,当A列中的两个值匹配时,我想使用vlookup或AddressMatch来更新电子邮件地址

我如何才能做到这一点?

请尝试下面的代码

注意:如果列A每个名称只有两次,则该选项将起作用

如果列A名称出现一次,它将被视为B列中的新名称

Sub test()
    Dim lastrow As Long
    Dim incre As Long
    Dim flag As String
    flag = "no"
    lastrow = Range("A" & Rows.Count).End(xlUp).Row
    incre = 1
    ReDim names(lastrow, 2) As String
    For i = 1 To lastrow
        names(i, 1) = Range("A" & i).Value
        names(i, 2) = Range("B" & i).Value
    Next i
    For i = 1 To lastrow
        For j = i + 1 To lastrow
            If names(i, 1) = names(j, 1) Then
                flag = "yes"
                Range("C" & incre) = names(j, 1) & " Value: " & names(j, 2)
                incre = incre + 1
            End If
        Next j
        If flag = "no" Then
            Range("C" & incre) = names(i, 1) & " Value: " & names(i, 2)
        Else
            flag = "no"
        End If
    Next i
End Sub


对应的条目是否在同一行?您是指匹配的名称值吗?它们应该都在列AI中,应该搜索第二个值,它在列A中匹配,然后得到ist列B值,并将其写入列A的第一个匹配值的列B中好的,现在我得到了它。到目前为止你试过什么了吗?我正在用谷歌搜索vlookup和AddressMatch,indexmatch,但找不到它。我需要在我的演讲之前完成这个,我不认为我自己能找到它