Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Mehrere PLZ und Orte einander zuordnen

Mehrere PLZ und Orte einander zuordnen
01.11.2024 13:49:24
Synn
Hallo Zusammen,

ich habe eine Datei (https://www.herber.de/bbs/user/173343.xlsx) in der in Registerblatt 1 PLZ gelistet sind mit dem Ort in dem sie liegen. Diese möchte ich nun so umwandeln, dass je Zeile ein Ort aufgeführt ist, mit allen PLZ, die in dem jeweiligen Ort liegen.
Also Beispielsweise:
Spalte A Spalte B Spalte C
Stadt 1 PLZ 1 PLZ 2
Stadt 2 PLZ 2 PLZ 3
usw.

Dabei kann es sowohl vorkommen, dass eine eine PLZ in mehreren Orten liegt, als auch, dass ein Ort in mehreren PLZ liegt. Daneben variierte natürlich die Anzahl der PLZ und Städte untereinander, die zugeordnet werden sollen.

Ich habe nach diversen Fehlversuchen keine Idee mehr, wie ich die Matrix so umwandeln kann, dass damit je Zeile ein Ort mit allen zugehörigen PLZ aufgeführt ist.
Vielleicht hat hier jemand eine Idee.
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Mehrere PLZ und Orte einander zuordnen
01.11.2024 15:11:37
Sigi.21
Hallo,

alle PLZs eines Ortes??
Wie stellst du dir das vor? Allein Berlin hat ca. 200 PLZs!
Wozu soll das gut sein?

Gruß Sigi

AW: Mehrere PLZ und Orte einander zuordnen
01.11.2024 16:17:23
Daniel
Hi
in deiner Excelversion mit diesen Schritten:

1. Liste nach "Ort eindeutig" aufsteigend sortieren
2. Am Tabellenende eine Hilfsspalte einfügen mit dieser Formel (Formel für F2): =B2&Wenn(A2=A3;";"&F3;"")
3. Formel nach unten ziehen, dann kopieren und als Wert Einfügen
4. Alle Spalten markieren und DATEN - DATENTOOLS - DUPLIKATE ENTFERNEN ausführen, mit "Ort eindeutig" als Kriterium
5. Hilfsspalte F markieren und DATEN - DATENTOOLS - TEXT IN SPALTEN ausführen, mit dem Semikolon als Trennzeichen
6. nicht mehr benötigte Spalten löschen.

die Formel aggregiert die PLZs eines Ortes sukzessiv nach oben, so das beim ersten Eintrag eines Ortes alle PLZ in einer Zelle stehen.
dann kann man das Duplikate entfernen ausführen, so dass nur eine Zeile (die oberste mit allen PLZ) stehen bleibt.
mit TEXT IN SPALTEN verteilt man dann die PLZ in die Zellen.

achtung: die PLZ werden dabei in Zahlen umgewandelt, dh die PLZ, die mit 0 beginnen, werden 4-stellig.
das Gegenmittel wäre theoretisch, beim TEXT IN SPALTEN im Schritt drei das Format "Text" auszuwählen, das müsstest du aber für jede Spalte machen und dafür hast du dann zu viele.

wenn das vermieden werden soll, dann mach statt Text in Spalten folgendes
5. in Zelle G2 diese Formel eintragen: =TEIL($F2;(SPALTE(A1)-1)*6+1;5)
6. diese Formel nach unten und soweit nach rechts ziehen wie benötigt (Anzahl der PLZ, die ein Ort maximal haben kann, musst du ermitteln)
7. wenn die Formeln eleminieren willst, dann: kopieren den Bereich, füge ihn als Wert ein und formatiere ihn am Schluss mit dem Zahlenformat TEXT.

Gruß Daniel
Anzeige
AW: Mehrere PLZ und Orte einander zuordnen
01.11.2024 17:35:17
Eifeljoi 5
Hallo

Warum mit Formeln??
Du nutzt doch PQ arbeite doch weiter damit.
Wandle deine PLZ in eine formatierte (Intelligente) Tabelle und lese sie ein und eine Spalte hin zu mit dem Code Teil.
= Table.Group(Quelle, {"Ort eindeutig","ORT","ZUSATZ","BUNDESLAND"}, {{"PLZ", each Text.Combine(List.Transform([PLZ], each Text.From(_)), ","), type text}})
Anzeige
AW: Mehrere PLZ und Orte einander zuordnen
01.11.2024 19:06:09
emkaes
Hallo,

mit Makro so

Sub RowtoColumn()


' Daten einlesen
Dim sh As Worksheet
Dim rg As Range
Dim arr As Variant

Set sh = ThisWorkbook.Worksheets("PLZ")
Set rg = sh.Cells(1, 1).CurrentRegion
Set rg = rg.Offset(1).Resize(rg.Rows.Count - 1, 2)
arr = rg.Value2

' PLZ Orten zuweisen
Dim dict As New Dictionary
Dim i As Long
For i = 1 To UBound(arr)
dict(arr(i, 1)) = dict(arr(i, 1)) & "," & arr(i, 2)
Next

' Daten ausgeben
i = 0
For Each it In dict.Keys
i = i + 1
sh.Cells(i, 8) = it
sh.Cells(i, 9) = dict(it)
Next

End Sub


Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige