Ich habe eine Excel-Tabelle, in der die ID einer Tabelle als Referenz für die nächste Tabelle verwendet wird. Die IDs sind fortlaufend. So:
Sheet 1 Sheet 2
ID Name ID Sheet_1_ID Text
1 ABC 1 1 asd
2 XYZ 2 2 dsa
3 PQR 3 2 sadas
4 LMN 4 3 asdas
5 3 asd
6 4 asd
Jetzt möchte ich aus irgendeinem Grund einige der IDs aus Blatt 1 ändern und in Blatt 2 ersetzen. Im Grunde habe ich also eine Liste wie:
OldID NewID
1 23
2 24
3 25
4 26
Die einzige Möglichkeit, die ich gefunden habe, ist die Verwendung der Suchen-und-Ersetzen-Funktion von Excel, aber das ist sehr zeitaufwändig.
Gibt es eine Formel, ein Skript oder einen kleinen Codeabschnitt, mit dem dies erreicht werden kann?
Antwort1
Wenn alle OldIDs eindeutig sind, fügen Sie jedem Blatt eine Hilfsspalte mit dem Folgenden hinzu (vorausgesetzt, die OldID/NewID-Liste befindet sich auf Blatt 3, mit OldIDs in Spalte A und NewIDs in Spalte B, und die OldIDs auf dem aktuellen Blatt stehen in Spalte A ab Zeile 2):
=VLOOKUP(A2,Sheet3!A:B,2,FALSE)
Dies bedeutet im Endeffekt: „Nimm den Wert in A2 auf dem aktuellen Blatt, suche ihn in der äußersten linken Spalte von A:B auf Blatt3 und bringe den passenden Wert in die zweite Spalte von A:B auf Blatt3 zurück.“ Der Parameter FALSE gibt an, dass nur Daten akzeptiert werden, bei denen eingenaue Übereinstimmungwird für A2 gefunden. (Kontraintuitiv, ja.)
Sobald dies für Zeile 2 festgelegt ist, kopieren Sie es in den Rest des Blattes. Nachdem Sie stichprobenartig überprüft haben, ob dies richtig funktioniert, können Sie die importierten Daten einfach kopieren und die ID-Spalte mit „Werte einfügen“ überschreiben.