根据地图替换列中的值

时间:2016-05-26 14:39:27

标签: excel excel-2007

我在Excel工作表中有两列A和B,类似于以下内容: -

A   B
1   1
2   2
3   4
4   5
5   6
6   7
7   8
8   10
9   11
10  12
11  13
12  15
13  16
14  17
15  18

现在,在另一张表中,我有一列B值,我想要映射'他们对应的A值。通过' map'它们,我的意思是用第一张纸中与它相邻的A值替换B值。我该怎么做?

2 个答案:

答案 0 :(得分:1)

选项1)

在sheet2 C栏中你想要你的结果,让我们说你的B数据就在D栏中,只是为了混淆。

=INDEX(SHEET1!$A$1:$A$15,MATCH(D2,SHEET1!$B$1:$B$15,0))

选项2)

相同的设置,但让我们使用LOOKUP功能

=LOOKUP(D2,SHEET1!$B$1:$B$15,SHEET1!$A$1:$A$15)

答案 1 :(得分:1)

使用 Sheet1 ,如:

enter image description here

Sheet2 喜欢:

enter image description here

运行这个短宏:

Sub Translate()
    Dim B As Range, RangeToFix As Range, r As Range
    Dim fnd As Range

    Set B = Sheets("Sheet1").Range("B1:B15")
    Set RangeToFix = Sheets("Sheet2").Range("B1:B11")

    For Each r In RangeToFix
        Set fnd = B.Find(What:=r.Value, After:=B(1))
        If fnd Is Nothing Then
            r.Offset(0, 1).Value = "not found"
        Else
            r.Value = fnd.Offset(0, -1).Value
        End If
    Next r
End Sub

将在 Sheet2

中生成此内容

enter image description here

这就是“翻译”。