218 Aufrufe
Gefragt in Tabellenkalkulation von jelena Mitglied (829 Punkte)

Hallo guten Tag, wie kann ich die Zahlen in einer Pivot Tabelle richtig sortieren, habe ein Bild beigefügt, wie es sortiert sein soll. Danke

12 Antworten

0 Punkte
Beantwortet von xlking Experte (1.7k Punkte)
Hallo Jelena,

da du hier keine Zahlen sondern Text hast, erkennbar am Punkt als Trennzeichen, geht das nur mit einer Hilfsspalte in deiner Datenquelle, wo du diesen Text wieder in eine Zahl umwandelst. Gib als Formel in diese Hilfspalte folgendes ein und ziehe diese nach unten.

=WERT(WECHSELN(A2;".";","))

Danach legst du diese Hilfsspalte in der Pivottabelle noch vor der Artikelnummer ab. Sollte nicht bereits die korrekte Sortierung erscheinen kannst du diese per Klick auf den Dropdownpfeil und dann auf Sortieren erzwingen. Die Zusatzspalte kannst du in der Pivot dann ganz normal ausblenden. Wenn du sie nicht brauchst.

Gruß Mr. K.
0 Punkte
Beantwortet von jelena Mitglied (829 Punkte)

Hallo Mr. K. werde ich demnächst ausprobieren. Danke

0 Punkte
Beantwortet von jelena Mitglied (829 Punkte)

Hallo Mr. K. ich habe alles nach deiner Beschreibung gemacht bekomme dann in der Pivot Tabelle die nachstehende Fehlermeldung. Zudem hat die Tabelle fast immer eine verschiedene Anzahl an Zeilen. Wäre schön, wenn es eine andere Lösung gäbe. Danke

0 Punkte
Beantwortet von xlking Experte (1.7k Punkte)
Hallo Jelena,

ich meinte natürlich, du sollst die zusäzliche Spalte in der Datenquelle machen, sodass du am Ende 2 Artikelnummern hast, die beide Teil der Pivottabelle sind. Da zusätzliche Feld legst du dann in der Feldliste im Bereich Zeilen vor der Artikelnummer ab. So war das gemeint.

Eine andere Option sehe ich für dein Problem leider nicht. Natürlich musst du bei zusätzlichen Zeilen die Formel immer mit runterziehen. Oder du verwendest für deine Datenquelle eine intelligente Tabelle, dann wird die Formel automatisch erzeugt, sobald du eine neue Zeile anlegst.

Gruß Mr. K.
0 Punkte
Beantwortet von jelena Mitglied (829 Punkte)
Hallo Mr. K. vielen Dank
0 Punkte
Beantwortet von jelena Mitglied (829 Punkte)
Bearbeitet von jelena

Hallo Karin, ich hätte da noch eine Aufgabe, das unten angeführte makro sortiert nicht alle Zahlen. Bitte nachbessern. Danke

Sub nach_Artikel_Nr_sortieren_Außerhalb()
ActiveSheet.Unprotect Password:="gs"
    Application.ScreenUpdating = False      ' Bildschirnaktualisierung aus
Dim z As Long, Wert, w As Integer, Zeilen As Long   'Zahlen mit Punkt sortieren
Zeilen = Range("c505").End(xlUp).Row    'xlUp = A-Z
Range("U7:W" & Zeilen) = 0              'erstellt Hilfsspalten von U5 bis W und löscht sie dann wieder
For z = 3 To Zeilen                     '3 Spalten U bis W
    Wert = Split(Range("D" & z), ".")   'Zahlen befinden sich in Spalte A
    For w = 0 To UBound(Wert)
        Cells(z, 21 + w) = Wert(w)      'bis zur 21 Zeile
    Next w
Next z
Range("a7:W" & Zeilen).Sort Key1:=Range("U7"), Order1:=xlAscending, Key2:=Range("V7") _
        , Order2:=xlAscending, Key3:=Range("W7"), Order3:=xlAscending, Header:= _
        xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Range("U6:W" & Zeilen).ClearContents
    Application.ScreenUpdating = True       ' Bildschirmaktalisierung ein
ActiveSheet.Protect Password:="gs", Contents:=True, Scenarios:=False, AllowSorting:=True, _
        AllowFiltering:=True, AllowFormattingCells:=True, AllowUsingPivotTables:=True, _
        AllowFormattingColumns:=True, AllowFormattingRows:=True, AllowInsertingRows:=True
'    ActiveSheet.EnableSelection = xlUnlockedCells   'Geschützte Zellen nicht wählbar
End Sub

                z.B.    

von A bis Z Falsch von A bis Z Richtig
1.03 1.03
1.15 1.15
1.19 1.19
1.40 1.126
1.42 1.40
1.126 1.42
2.08 2.08
2.16 2.16
3.100 10.41
3.244 33.01
10.41 33.07
33.01 3.100
33.07 3.244

0 Punkte
Beantwortet von xlking Experte (1.7k Punkte)
Bearbeitet von xlking

Hallo Jelena,

ich bin zwar nicht Karin, aber das sind jetzt ja auch ganz andere Zahlen als im ursprünglichen Beispiel. Hier liegt jetzt eine benutzerdefinierte Sortierung vor. Wie bist du auf diese Sortierung gekommen? Hast du die in einer separaten Liste stehen?

Mit einer benutzerdefinierten Sortierung kannst du das auch ohne Hilfsspalte lösen.

Gehe dazu auf Datei -> Optionen und wähle das Register "Erweitert", Suche dort die Benutzerdefinierten Listen und gehe auf bearbeiten.

Excel Optionen Erweitert

Wähle Hinzufügen und gib deine Sortierung ein. Wähle dann nochmal hinzufügen und du hast deine Liste.

Excel Benutzer-Liste

Alternativ kannst du die Liste auch aus einem Excel-Bereich importieren.

Natürlich kannst du die Liste auch per Makro erstellen. Das geht mit dem Befehl:

Application.AddCustomList ListArray:=Array("1.03", "1.15", "1.19", "1.126", "1.40", "1.42", "2.08", "2.16", "10.41", "33.01", "33.07", "3.100", "3.244")

Jetzt kannst du die Spalte ganz normal sortieren bzw. sollte die erstellte Pivot-Tabelle automatisch die richtige Sortierung wählen.

Gruß Mr. K.

0 Punkte
Beantwortet von xlking Experte (1.7k Punkte)
Bearbeitet von xlking

Sollte das nicht der Fall sein, dann wähle in deiner Pivottabelle den Dropdown-Pfeil und dort "Weitere Sortieroptionen"

Pivot Weitere Sortieroptionen

Wähle im aufpoppenden Menü Aufsteigend von A-Z  und klicke dann auf "Weitere Optionen"

Pivot Sortieroptionen

entferne das Häkchen bei "Automatisch aktualisieren" und wähle im darunter liegenden Feld deine Liste.

Pivot Weitere Sortieroptionen (A)

Dann mit OK bestätigen und Voila.

Ja das sind ein paar Schritte, aber es geht eben auch ohne VBA. Falls du das alles als Makro brauchst, sag nochmal Bescheid. Da lässt sich was machen.

PS: Die Sortier-Liste merkt sich Excel nach dem Schließen fürs nächste Mal. Brauchst du also nur einmalig hinzufügen.

Gruß Mr. K.

0 Punkte
Beantwortet von jelena Mitglied (829 Punkte)
Hallo Mr. K. Danke für die große Unterstützung. Ich habe leider bei der letzten frage in falsches Beispiel angegeben. Die Sortierung sollte 1.03, 1.15, 1.19, 1.40, 1.42, 1.126, 2.08, 2.16, 10.41, 33.01, 33.07, 3.100, 3.244 sein und das ist nur ein Beispiel es gibt noch viele andere Artikel Nummern ab der Spalte 7D. Die Sortierung brauche ich wie in meinem Makro beschrieben. Danke
0 Punkte
Beantwortet von vbastler Mitglied (325 Punkte)

Moin allerseits,

meiner mathematischen Kenntnis nach müsste die Sortierreihenfolge von "1.03, 1.15, 1.19, 1.40, 1.42, 1.126, 2.08, 2.16, 10.41, 33.01, 33.07, 3.100, 3.244" deutlich anders lauten. Vorausgesetzt der Punkt dient als Trennzeichen vgl. Komma.

1.126 ist z.B. kleiner als 1.15 und 33.01 wäre dann größer als 3.100

Was verstehe ich falsch?

Grüße

...