2016-05-26 14 views
0

ich zwei Spalten A und B in einer Excel-Tabelle habe, ähnlich wie die folgenden: -Ersetzen Werte in einer Spalte nach einer Karte

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 

nun in einem anderen Blatt, ich habe eine Spalte von B Werte, und ich möchte sie ihren entsprechenden A-Werten zuordnen. Wenn Sie sie "abbilden", bedeutet das, dass Sie einen B-Wert durch den A-Wert ersetzen, der im ersten Blatt neben ihm liegt. Wie mache ich das?

+0

Dies ist ein Nachschlage- oder Index-/Match-Prozess –

+0

Wenn Sie die B-Werte ersetzen müssen, die in derselben Zelle vorgenommen werden sollen, in der sie angezeigt werden, müssen Sie auf der anderen Seite die VBA-Route wählen. –

Antwort

1

Option 1)

In sheet2 Spalte C wollen Sie Ihre Ergebnisse und können sagen, und Ihre B-Daten sind nur in der Spalte D Dinge zu mischen.

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

Option 2)

gleiche Setup, sondern lässt die Nachschlag-Funktion

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

Mit Sheet1 wie verwenden:

enter image description here

und Sheet2 mag:

enter image description here

diese kurze Makro Laufen:

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 

wird diese Sheet2 in Produce:

enter image description here

Dies macht die "Übersetzung" in-place .

Verwandte Themen