Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Daten sortieren
#1
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.


Angehängte Dateien
.xlsx   TEST.xlsx (Größe: 10,72 KB / Downloads: 10)
Antworten Top
#2
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
Antworten Top
#3
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 ?


Angehängte Dateien Thumbnail(s)
   
Antworten Top
#4
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?
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#5
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


Angehängte Dateien
.xlsm   SortierenZeilenweise_Kuwer.xlsm (Größe: 21,34 KB / Downloads: 1)
Antworten Top
#6
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


Angehängte Dateien Thumbnail(s)
   
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste