Clever-Excel-Forum

Normale Version: Daten sortieren
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

aus einem 3D Programm heraus, exportiere ich die Infos wie die Punkte die ein Objekt bilden, im Raum stehen – daher erhalte ich eine Tabelle mit 4 Spalten – Indexnummer des Punktes, X Y Z Wert.

Das sieht dann so aus

Ich möchte diese Tabelle zeilenweise umsortiert haben – die Kombination aus Index + X Y Z soll also erhalten bleiben.


Ich benötige allerdings keine Sortierung nach einer Spalte (wie hier dargestellt)


sondern eine Sortierung die 3 Spalten beinhaltet – also eine Sortierung die der grünen Linie folgt.


Ich hoffe ich habe es verständlich ausgedrückt ; ) Ist das machbar ?

Angehängt die Tabelle

Danke & Gruß

Dateien (auch Bilder) bitte im Forum hochladen.
Hallo Dumdumdum,

Zitat:Ich hoffe ich habe es verständlich ausgedrückt ; )

Nö...

Nach welchem Prinzip soll sortiert werden? Wie willst Du nach einer ZickZack-Linie sortieren?
Hast Du mal eine Beispieldatei mit Rohdaten und dem gewünschten Ergebnis?

Gruß,
Lutz
Meine Bilder wurden leider nicht mit hochgeladen, daher hier als Anhang.

Die Sortierung soll eben Zeilenweise erfolgen, aber alle drei Werte (X Y Z) mit berücksichtigt werden

Erste Spalte fortlaufende Nummer (die werden im zweiten Schritt entfernt und eine neue Fortlaufende Abfolge eingefügt)

Die Formatierung soll dann vom Sinn so aussehen

X         Y        Z
500     300     200
500     250     150
450   1000     200
450     200     800
400     800    1000 

Es werden die Werte in den 3 Spalten berücksichtigt. die Werte in Y und Z können größer als X sein 
da sie immer untergeordnet der vorherigen Spalte gewertet werden.

Hoffe, das ist verständlicher ?
Hallöchen,

Zitat:Hoffe, das ist verständlicher ?

ich glaube, noch nicht ...

Stelle doch mal ein paar Zahlen vor und nach der Sortierung dar und beschreibe genau, wie Du sortiert hast und falls es mehrere Schritte sind dann auch schrittweise, damit man das Prinzip erkennen kann.
Ich vermute, dass Du nach der letzten Zeile sortiert hast sodass links der kleinste und rechts der größte Wert steht?
Oder nach der ersten sodass links der größte und rechts der kleinste Wert steht?
Hallo Christian,

per VBA ginge es z.B. so:
Sub SortienZelenweise()
 Dim i As Long, j As Long
 Dim varB As Variant, varS As Variant
 
 varB = Range("B2:D27").Value
 ReDim varS(1 To UBound(varB, 1) * UBound(varB, 2), 1 To 1)
 
 For i = 1 To UBound(varB, 1)
   For j = 1 To UBound(varB, 2)
     varS(i * UBound(varB, 2) - UBound(varB, 2) + j, 1) = Val(varB(i, j))
   Next j
 Next i
 
 Application.ScreenUpdating = False
 With Workbooks.Add(xlWBATWorksheet).Worksheets(1).Cells(1).Resize(UBound(varS))
     .Value = varS
     .Sort Key1:=.Cells(1), Order1:=xlAscending, Header:=xlNo
     varS = .Value
   .Parent.Parent.Close False
 End With
 
 For i = 1 To UBound(varB, 1)
   For j = 1 To UBound(varB, 2)
     varB(i, j) = Replace(varS(i * UBound(varB, 2) - UBound(varB, 2) + j, 1) & " cm", ",", ".")
   Next j
 Next i
 
 Range("F2").Resize(UBound(varB, 1), UBound(varB, 2)).Value = varB
 
 Application.ScreenUpdating = True
End Sub
Die Ausgabe erfolgt ab F2.

Gruß Uwe
Hallo Dumdumdum,

entweder ich hab's nicht überrissen oder es ist sooo einfach...

Markiere Deine Daten, dann über Daten -> Sortieren und Filtern -> Benutzerdefiniertes Sortieren.
Im neuen Fenster dann Ebenen hinzufügen.

1. Ebene X
2. Ebene Y
3. Ebene Z

Anbei noch ein Screenshot.

Ist das Ergebnis das, was Du willst?

Gruß,
Lutz