excel sheet比较两个不同的列(如果匹配)将其下两个单元格复制到新列中

时间:2016-01-21 06:51:45

标签: excel vba excel-vba

嘿伙计们PLZ解决这个问题......
enter image description here

所以...我想比较D栏和A ...
这里的例子......
 D1与A2匹配...所以我想分别在E1和F1中使用B2和C2 .... D2与A6匹配...所以我想分别在E2和F2中使用B6和C6 .... 我在A栏中有一个2022的重新编码,与D ...进行比较 所以我想要一个公式数据可以通过选择比较列一次完成我的愿望...... 提前致谢

3 个答案:

答案 0 :(得分:4)

使用索引匹配公式来实现这一点。
在E1单元格中写下公式

 =IFERROR(INDEX(B:B,MATCH($D1,$A:$A,0)),"")

在F1单元格中写下公式(您也可以填写上面的公式)

=IFERROR(INDEX(C:C,MATCH($D1,$A:$A,0)),"")

enter image description here

答案 1 :(得分:1)

循环和查找

Sub SendToRange()
    Dim Rws As Long, rng As Range, x As Range, c As Range

    Rws = Cells(Rows.Count, "D").End(xlUp).Row
    Set rng = Range(Cells(1, "D"), Cells(Rws, "D"))
    Columns("E:F").ClearContents

    For Each x In rng.Cells
        Set c = Range("A:A").Find(what:=x, lookat:=xlWhole)

        If Not c Is Nothing Then

            r = c.Row
            Range(Cells(x.Row, "E"), Cells(x.Row, "F")).Value = Range(Cells(r, 2), Cells(r, 3)).Value
        Else:
            Range(Cells(x.Row, "E"), Cells(x.Row, "F")).Value = "N/A"

        End If

    Next x

End Sub

答案 2 :(得分:0)

试试此代码

1st column=vlookup(D1,$A$1:$A$n,2,false)
2nd clumn =vlookup(D1,$A$1:$A$n,3,false)