klaina
Goto Top

PLZ in Bereiche einteilen EXCEL

Hallo zusammen,
ich habe folgende Voraussetzungen:
Eine Tabelle mit 2 Spalten, PLZ und Bezirk.
DIe PLZ sind aufsteigend sortiert, die dazugehörigen Bezirke sind jedoch unterschiedlich

Als Beispiel:

01219 Bezirk 2
01237 Bezirk 3
01239 Bezirk 2


gibt es eine Funktion, in der ich sagen kann, zeig mir den plz bereich (von bis) von bezirk 2?
Auch wenn mehrere Bereiche betroffen sind?

Als Ausgabe stelle ich mir vor:

Bezirk 2 plz von 01067 - 01139
01215 - 01219
etc..

Hat jemand eine Idee?

Content-ID: 396124

Url: https://administrator.de/contentid/396124

Ausgedruckt am: 22.11.2024 um 14:11 Uhr

137846
137846 19.12.2018 aktualisiert um 12:49:37 Uhr
Goto Top
Klassischer Fall einer Pivot-Tabelle!

Gruß A.
erikro
erikro 19.12.2018 um 12:51:04 Uhr
Goto Top
Moin,

Pivot-Table. Bezirk in die Spalte, PLZ in die Zeile und in die Werte. Fertig! Dann kannst Du die Spalten noch nach den entsprechenden Bezirken oder auch die PLZ filtern.

Liebe Grüße

Erik
129152
129152 19.12.2018 um 12:52:19 Uhr
Goto Top
Danke,

Du warst schneller face-smile

Pivot- Tabelle und Spaltenfilterung listet untereinander alle gewünschten Einträge auf.

Beste Grüße
Klaina
Klaina 19.12.2018 um 12:58:16 Uhr
Goto Top
Vielen Dank für die Hilfe, aber mit einer Pivot Tabelle komme ich nicht zum gewünschten Ergebnis.
Dort werden mir ja alle PLZ angezeigt. Ich wollte eine Ausgabe wie 01112 - 01236, 02366-02368, etc.

Lässt sich das auch mit der Pivot Tabelle darstellen?
erikro
erikro 19.12.2018 um 13:03:59 Uhr
Goto Top
Moin,

Zitat von @Klaina:

Vielen Dank für die Hilfe, aber mit einer Pivot Tabelle komme ich nicht zum gewünschten Ergebnis.
Dort werden mir ja alle PLZ angezeigt. Ich wollte eine Ausgabe wie 01112 - 01236, 02366-02368, etc.

Lässt sich das auch mit der Pivot Tabelle darstellen?

Dann die PLZ nicht in die Zeilen, sondern zweimal in die Werte. Wertfeldeinstellungen einmal auf Maximum und einmal auf Minimum und gut ist. Der Übersichtlichkeit halber würde ich dann die Bezirke lieber als Zeilen darstellen. Dann sieht das so aus:

plz

Liebe Grüße

Erik
Klaina
Klaina 19.12.2018 um 13:16:42 Uhr
Goto Top
Zitat von @erikro:

Moin,

Dann die PLZ nicht in die Zeilen, sondern zweimal in die Werte. Wertfeldeinstellungen einmal auf Maximum und einmal auf Minimum und gut ist. Der Übersichtlichkeit halber würde ich dann die Bezirke lieber als Zeilen darstellen. Dann sieht das so aus:

plz

Liebe Grüße

Erik


Das kommt den schon sehr sehr nahe, vielen Dank dafür!
Aber: wenn z.B. Bezirk 3 plz von 01222 - 01233 und 96888-96999 hat, wird dies mit 01222- 96999 dargestellt, was nicht ganz richtig ist.
Dazwischen hängen plz die anderen Bezirken zugeordnet sind.

bisher lässt sich das in meiner Tabelle nicht darstellen, egal wie ich es mache.
Cometcola
Cometcola 19.12.2018 aktualisiert um 13:32:43 Uhr
Goto Top
Moin,

ansonsten nimm dir doch bspw. Access und arbeite mit SQL-Statements. Import von Excel ist kein Problem. Vielleicht einfacher, als da dann mit Pivot herumzubasteln.

Vom Code her sollte das dann ungefähr so aussehen, wenn ich deine Problemstellung richtig verstanden habe.

SELECT *
FROM deineTabelle
WHERE (PLZ BETWEEN 01222 AND 01233 OR PLZ BETWEEN 96888 AND 96999) AND Bezirk = 3;

LG
CC
emeriks
emeriks 19.12.2018 um 13:37:33 Uhr
Goto Top
Zitat von @Klaina:
Vielen Dank für die Hilfe, aber mit einer Pivot Tabelle komme ich nicht zum gewünschten Ergebnis.
Dort werden mir ja alle PLZ angezeigt. Ich wollte eine Ausgabe wie 01112 - 01236, 02366-02368, etc.
Dann wäre aber Dein Bsp. in der Eingangsfrage falsch.
01219 Bezirk 2
01237 Bezirk 3
01239 Bezirk 2
Eine Ausgabe von
Bezirk 2 = 01219 - 01239
wäre ja inhaltlich falsch, weil 01237 in dieser Menge enthalten wäre aber zum Bezirk 3 gehört.

E.
129152
129152 19.12.2018 um 13:37:53 Uhr
Goto Top
Excel ->
entsprechenden Bereich markieren ->
Einfügen ->
Tabelle ->
mit OK bestätigen ->
Im Zeilenkopf auf den Pfeil und Bereich2 auswählen und schon werden alle PLZ aus Bereich 2 angezeigt

Geht also ohne Pivot
Klaina
Klaina 19.12.2018 um 13:54:31 Uhr
Goto Top
Zitat von @emeriks:

Zitat von @Klaina:
Vielen Dank für die Hilfe, aber mit einer Pivot Tabelle komme ich nicht zum gewünschten Ergebnis.
Dort werden mir ja alle PLZ angezeigt. Ich wollte eine Ausgabe wie 01112 - 01236, 02366-02368, etc.
Dann wäre aber Dein Bsp. in der Eingangsfrage falsch.
01219 Bezirk 2
01237 Bezirk 3
01239 Bezirk 2
Eine Ausgabe von
Bezirk 2 = 01219 - 01239
wäre ja inhaltlich falsch, weil 01237 in dieser Menge enthalten wäre aber zum Bezirk 3 gehört.

E.


Genau das meinte ich.
Dann habe ich mich falsch ausgedrückt, sorry dafür.
Inhaltlich muss es richrig sein.
Daher hat jeder Bezirk mehrere plz Bereiche.
zB: Bezirk 1: 3-5; Bezirk 2: 6-9, Bezirk 1: 10-11; Bezirk 2: 12-13...

Hoffe ich habe das dieses Mal verständlicher erklärt.
unbenannt

So soll es gewünschter Weise am Ende aussehen
137846
137846 19.12.2018 um 14:41:16 Uhr
Goto Top
Klaina
Klaina 19.12.2018 um 14:56:49 Uhr
Goto Top
Zitat von @137846:

Dafür gibts die Gruppieren-Funktion der Zeilen.
https://support.office.com/de-de/article/gruppieren-oder-aufheben-der-gr ...


Alles schön und gut, komme damit aber nicht auf die gewünschte Lösung.
Die Grupperierung zeigt mir ja nur, welche plz in welchem Bezirk sind.
Dafür benötige ich ja keine Pivot Tabelle, sondern das würde sich mit einfachem Filtern realisieren lassen.
Cometcola
Cometcola 19.12.2018 aktualisiert um 15:12:24 Uhr
Goto Top
Also ich bin mir immer noch nicht sicher was du genau haben willst...bzw. was deine exakte Aufgabenstellung ist.

Alle aufgeführten Lösungsvorschläge würden dein Problem lösen, bzw. dir die Grundlage geben, eine Auflistung nach deinen Wünschen zu erstellen.

Guck dir die Min/Max-Funktionen nochmal an. Damit kannst du immerhin simpel die Grenzen identifizieren.
Klaina
Klaina 19.12.2018 um 15:16:58 Uhr
Goto Top
Ich werde den Beitrag schließen.
Denke meine Aufgabenstellung wird nicht verstanden, wahrscheinlich drücke ich mich etwas unklar aus.
Wenn ich eine Lösung gefunden habe, teile ich diese gerne.

Danke an alle Lösungsvorschläge
137846
137846 19.12.2018 aktualisiert um 15:21:51 Uhr
Goto Top
Zitat von @Klaina:

Zitat von @137846:

Dafür gibts die Gruppieren-Funktion der Zeilen.
https://support.office.com/de-de/article/gruppieren-oder-aufheben-der-gr ...


Alles schön und gut, komme damit aber nicht auf die gewünschte Lösung.
Wieso
Die Grupperierung zeigt mir ja nur, welche plz in welchem Bezirk sind.
Nein, die Gruppiert die Zahlen in Gruppen, im Format VON-BIS, genau so wie du das oben haben willst.
Wenn man dann noch auf Tabellenformatierung umschaltet sieht das bspw. so aus
screenshot
erikro
Lösung erikro 19.12.2018 um 17:12:41 Uhr
Goto Top
Moin,

da hast Du ein PS-Skript. Die Excel-Datei exportierst Du als CSV, dann das Skript drüberlaufen lassen und die result.csv wieder in Excel importieren.

$plz = Import-Csv .\plz.csv -delimiter ";" | Sort-Object -property "PLZ"  
$akt_bz = ""  
$data = ""  
$result = @()
foreach($dataset in $plz) {

    if($dataset.Bezirk -ne $akt_bz) {

        $akt_bz = $dataset.Bezirk
        if($data) {
            $result += $data
        }
        $data = ""  
        $data = New-Object PSObject
        $data | Add-Member NoteProperty "bezirk" $dataset.Bezirk  
        $data | add-member NoteProperty "first" $dataset.PLZ  
        $data | Add-Member NoteProperty "last" 0  


    }
    else {

        $data.last = $dataset.PLZ

    }
   
}

$result | sort-object -property "bezirk" | export-csv -path result.csv -delimiter ";" -NoTypeInformation  

hth

Erik
erikro
erikro 19.12.2018 um 17:13:52 Uhr
Goto Top
Zitat von @137846:
Nein, die Gruppiert die Zahlen in Gruppen, im Format VON-BIS, genau so wie du das oben haben willst.
Wenn man dann noch auf Tabellenformatierung umschaltet sieht das bspw. so aus
screenshot

Wie hast Du das denn hingekriegt?
137846
137846 19.12.2018 aktualisiert um 17:34:28 Uhr
Goto Top
Zitat von @erikro:

Zitat von @137846:
Nein, die Gruppiert die Zahlen in Gruppen, im Format VON-BIS, genau so wie du das oben haben willst.
Wenn man dann noch auf Tabellenformatierung umschaltet sieht das bspw. so aus
screenshot

Wie hast Du das denn hingekriegt?
Über die Gruppierung face-smile. Und in der Feldeinstellung auf dem Tab "Layout& Drucken" auf Darstellung "Elementnamen im Tabellenformat anzeigen".
Klaina
Klaina 20.12.2018 um 07:39:52 Uhr
Goto Top
Zitat von @erikro:

Moin,

da hast Du ein PS-Skript. Die Excel-Datei exportierst Du als CSV, dann das Skript drüberlaufen lassen und die result.csv wieder in Excel importieren.

> $plz = Import-Csv .\plz.csv -delimiter ";" | Sort-Object -property "PLZ"  
> $akt_bz = ""  
> $data = ""  
> $result = @()
> foreach($dataset in $plz) {
> 
>     if($dataset.Bezirk -ne $akt_bz) {
> 
>         $akt_bz = $dataset.Bezirk
>         if($data) {
>             $result += $data
>         }
>         $data = ""  
>         $data = New-Object PSObject
>         $data | Add-Member NoteProperty "bezirk" $dataset.Bezirk  
>         $data | add-member NoteProperty "first" $dataset.PLZ  
>         $data | Add-Member NoteProperty "last" 0  
> 
> 
>     }
>     else {
> 
>         $data.last = $dataset.PLZ
> 
>     }
>    
> }
> 
> $result | sort-object -property "bezirk" | export-csv -path result.csv -delimiter ";" -NoTypeInformation  
> 

hth

Erik

Danke Erik,
Du hast meine Lösung!
Das Problem bei meinen Pivot Tabellen war, das plz Bereiche doppelt vergeben worden sind.

Besten Dank an alle für jeden Ansatz und Eure Mühe!
erikro
erikro 20.12.2018 um 08:20:29 Uhr
Goto Top
Gerne,