Ich habe Personendaten und Adressdaten in zwei verschiedenen Blättern, die ich zu einem zusammenführen möchte. Das Problem besteht darin, dass jede Person mehr als eine Adresse haben kann.
Wenn ich beispielsweise die folgenden beiden Datensätze habe:
**Person Data**
PersonID Name
1 John Smith
2 Mark Brown
**Address Data**
PersonID Address
1 UK
1 France
1 USA
2 UK
Sie müssen wie folgt verbunden werden:
**Combined Data**
PersonID Name Address
1 John Smith UK
1 John Smith France
1 John Smith USA
2 Mark Brown UK
Gibt es eine Möglichkeit, dies über Excel-Formeln zu tun? Danke
Antwort1
Es sieht so aus, als ob Sie einfach den Namen der Person zu jeder Zeile der Adressdatenliste hinzufügen möchten. Wenn ja, ist das ganz einfach.
Annahmen
- Personendaten sind sortiert und fortlaufend (d. h. PersonID 1 befindet sich in Zeile 2, PersonID 100 befindet sich in Zeile 101) – wenn dies nicht zutrifft, siehe letzten Abschnitt.
- Adressdaten werden sortiert
Lösung
**Combined Data Sheet**
PersonID Name Address
=$Addresses!A2 =OFFSET($Names!$B$1, A2, 0) =$Addresses!B2
Und natürlich die Formeln nach unten kopieren.
Erläuterung
Die erste und letzte Spalte werden einfach aus dem Adressblatt kopiert. Die OFFSET
Funktion erlaubt es, einen bestimmten Betrag nach unten oder nach oben zu gehen. In diesem Fall wissen wir, dass die richtige Person in der Zeile PersonID + 1 steht. Da wir in Zeile 1 ( ) beginnen, $Names!$B$1
ist das +1 unnötig.
Nicht aufeinanderfolgende Personen-IDs
Mit der VLOOKUP
Funktion kann nach einer Personen-ID gesucht werden und anschließend eine weitere Spalte in derselben Zeile zurückgegeben werden. In diesem Fall etwa:
=VLOOKUP(A2, Names!$A$1:$B$1000, 2, FALSE)