首页 文章

Excel以匹配两个工作表中的值

提问于
浏览
0

我需要一个宏/公式来比较工作表中的两个单元格范围,并返回单元格中的相应值 .

例如:工作表1(表1)

AGE Description proof
1   8   
2   9   
3   2   
4   9   
5   5   
6   6   
7   0   
8   1   
9   2   
10  1

Sheet2中:

dates   1st 2nd 3rd 4th 5th 6th

0         1  1  2   2   3   3
1         2  3  5   6   7   8   
3         4  6  7   8   9   7 
5         6  7  8   9   10  11
7         8  9  10  11  12  13
10       11 12  13  15  16  18
12       13 15  16  18  19  21
15       16 30  31  45  46  60
30       31 33  34  37  38  40

从上面的例子来看,如果我的范围需要我的期望(例如,在sheet1年龄:1和描述:8那么它应该将它与sheet2进行比较并将值粘贴为sheet1校样列中的第6个) . 像这些我需要填补所有领域

1 回答

  • 0

    据我了解你的问题,你是

    • 首先匹配sheet1.age与sheets2.dates,如果找到匹配则

    • 您正在Sheet2.1st中搜索Sheets1.description到Sheets2.6th,如果您找到了mtach然后

    • 您正在选择从sheet2中选择* th(列名)并将其放入sheets1.proof .

    我发现只有一场比赛,即第一次观察

    下面是代码

    Sub checkNmatch()
    

    计算sheet1和sheet2的lastrow以实现自动化

    lastRowSheet1 = Worksheets("Sheet1").Cells(Rows.Count, 1).End(xlUp).Row
    lastRowSheet2 = Worksheets("Sheet2").Cells(Rows.Count, 1).End(xlUp).Row
    
    For i = 2 To (lastRowSheet1 - 1)
     For j = 2 To (lastRowSheet2 - 1)
    

    如果sheets1.age与sheets2.dates匹配,请检查以下内容

    If Worksheets("Sheet1").Cells(i, 1) = Worksheets("Sheet2").Cells(j, 1) Then
    

    如果找到匹配,则在sheet2.1st中搜索Sheets1.description到Sheets2.6th

    For k = 2 To 7
       If Worksheets("Sheet1").Cells(i, 2) = Worksheets("Sheet2").Cells(j, k) Then
    

    如果找到匹配,则将Sheet2的列名称复制到sheet1的证明中

    Worksheets("Sheet1").Cells(i, 3) = Worksheets("Sheet2").Cells(1, k)       
       End If
              Next
            End If
         Next
        Next
        End Sub
    

相关问题