HERBERS Excel-Forum - das Archiv

Thema: Daten Sortieren nach Kriterien

Daten Sortieren nach Kriterien
Patrick
Liebes Forum

Ich habe eine Excel-Datei, welche mir Daten aus einer Datenbank liefert. Diese Daten sind dynamisch. Ebenso sind dabei Datumsangaben drin enthalten, welche ich für eine Planung benötige.

Was ich nun möchte ist, dass ich diese Daten in einer Übersicht zusammen fassen kann. Es können 10 bis 200 Einträge vorhanden sein.

In der Beispieldatei habe ich dazu ein Register gemacht, welches "Daten" heisst.
Diese Daten möchte ich gerne in das Register "Übersicht" nehmen.
Im Register "Übersicht" möchte ich nun aber die Daten sortiert haben. Dies soll automatisch geschehen, ohne dass ich diese Daten zuerst Sortieren muss und dann mittels Kopieren in das Register "Übersicht" einfügen muss.
Die Überschrift (In der Beispieldatei GRÜN dargestellt) muss nicht sein, kann aber, falls es möglich wäre.

Könnt ihr mir da helfen?


https://www.herber.de/bbs/user/178812.xlsx
AW: wenn Zwischenüberschriften nicht erfoderlich sind ...
neopa C
Hallo Patrick,

... kann man es u.a. auch ohne Formel mit einer einfachen Power-Query (PQ)-Abfrage erzeugen.
Von Interesse?

Gruß Werner
.. , - ...
aus C the unseen
AW: Daten Sortieren nach Kriterien
Alwin Weisangler
Hallo,

mal noch ein Weg auf die Schnelle via VBA in ein allgemeines Modul:


Option Explicit

Sub SotiertAusgeben()
Dim arrTab(), arrlist(), i&, j&, k&
arrTab = Application.Index(Tabelle2.UsedRange.Value, Evaluate("row(1:" & Tabelle2.UsedRange.Rows.Count & ")"), Array(1, 2, 5, 3, 4))
ReDim arrlist(1 To UBound(arrTab, 1), 1 To UBound(arrTab, 2))
For i = 3 To UBound(arrTab)
If InStr(1, arrTab(i, 1), "Inkassoart", vbTextCompare) = 0 And arrTab(i, 1) <> "" Then
k = k + 1
For j = 1 To UBound(arrTab, 2)
arrlist(k, j) = arrTab(i, j)
Next j
End If
Next i
With Tabelle1
.UsedRange.Offset(1).ClearContents
.Cells(2, 1).Resize(k, UBound(arrlist, 2)) = arrlist
Sortieren
End With
End Sub

Private Sub Sortieren()
Dim lz&: lz = Tabelle1.Cells(Rows.Count, 1).End(xlUp).Row
With Tabelle1.Sort
.SortFields.Clear
.SortFields.Add2 Key:=Range("A1:A" & lz), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
.SetRange Range("A2:E" & lz)
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub

Aufruf kann man u.A. per Button machen.

Gruß Uwe
AW: Daten Sortieren nach Kriterien
UweD
Hallo

Ohne die Zwischenüberschriften

Arbeitsblatt mit dem Namen 'Übersicht (2)'
 ABCDEF
1      
2MatchcodeTerminWährungSaldoInkassoart 
3Kunde I19.08.2025CHF90  
4Kunde T19.08.2025CHF90  
5Kunde C01.09.2025CHF30  
6Kunde D01.09.2025CHF40  
7Kunde N01.09.2025CHF30  
8Kunde O01.09.2025CHF40  
9Kunde E14.09.2025CHF50  
10Kunde P14.09.2025CHF50  
11Kunde J25.09.2025CHF100  
12Kunde U25.09.2025CHF100  
13Kunde F04.10.2025CHF60  
14Kunde Q04.10.2025CHF60  
15Kunde G12.10.2025CHF70  
16Kunde R12.10.2025CHF70  
17Kunde A06.09.2025EUR10  
18Kunde L06.09.2025EUR10  
19Kunde V26.09.2025EUR110  
20Kunde B06.10.2025EUR20  
21Kunde M06.10.2025EUR20  
22Kunde H24.10.2025CHF80Vorauskasse 
23Kunde S24.10.2025CHF80Vorauskasse 
24Kunde K26.09.2025EUR110Vorauskasse 
ZelleFormatWert
B3TT.MM.JJJJ19.08.2025
E3;;0
ZelleFormel
A3=VSTAPELN(SORTIEREN(SPALTENWAHL(FILTER(Daten!A2:E300;(Daten!A2:A300<>"")*(Daten!C2:C300=""));1;2;4;5;3);{5;3;2};{1;1;1});
SORTIEREN
(SPALTENWAHL(FILTER(Daten!A2:E300;(Daten!A2:A300<>"")*(Daten!C2:C300<>""));1;2;4;5;3);{5;3;2};{1;1;1}))


Die Formel erweitert sich selbst

LG UweD
AW: wenn Zwischenüberschriften nicht erfoderlich sind ...
Patrick
Da ich mich mit Power Query zu wenig auskenne, müsste ich dies einmal sehen können.
generell gesagt, könnte dies funktionieren ja.
AW: dann ...
neopa C
Hallo Patrick,

... sieh mal hier: https://www.herber.de/bbs/user/178813.xlsx

Wenn Du in Blatt Daten änderst und oder ergänzt, muß lediglich der Aktualisierungsbutton (alternativ auch nur eine Tastenkombination) betätigt werde,
Mehr zu Power Query (PQ) sieh z.B. mal hier: https://excelhero.de/power-query/power-query-ganz-einfach-erklaert/

Gruß Werner
.. , - ...
aus C the unseen