Wir wünschen allen Forenteilnehmern ein frohes Fest und einen guten Rutsch ins neue Jahr. x

Tabelle mit zusammengehörigen Zeilen sortieren?
#1
Hallo und guten Morgen zusammen.
Ich wollte mal fragen ob es in Excel möglich ist Tabellen zu sortieren in denen es zusammengehörige Zeilen gibt?
Ich habe eine Tabelle mit Überschriften. 
In dieser Tabelle gehören immer 3 Zeilen zusammen. In Zeile 1 stehen die für die Sortierung relevanten Daten. In den beiden darunterliegenden Zeilen Erklärungen die sich auf Zeile 1 beziehen, aber für die Sortierung keine Rolle spielen.
Außerdem kann es sein das eine oder beide Zeilen keinen Inhalt haben. 
Es ist also eine Struktur die immer 3 Zeilen beinhaltet in der die Daten für die Sortierung immer in der Ersten der drei Zeilen steht.
Ist eine Sortierung bei Einhaltung der Struktur überhaupt möglich? Vielleicht per VBA?
Ich hänge mal eine Beiseitestelle mit an.
Schon einmal vielen Dank fürs lesen.


Angehängte Dateien
.xlsm   TestDatei.xlsm (Größe: 17,13 KB / Downloads: 12)
Antworten Top
#2
Moin!
Fülle die Leerzeilen in Spalte A mit dem Wert von oben aus.
Das geht recht komfortabel mit Bordmitteln:

• markiere A3:A19
• F5, Inhalte, Leerzellen, OK
• Formel =A2 mit Strg+Enter abschließen
• wieder A3:A19 markieren
• kopieren und als Wert wieder einfügen

Jetzt kannst Du "normal" sortieren.

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
[-] Folgende(r) 1 Nutzer sagt Danke an RPP63 für diesen Beitrag:
  • Kiosho
Antworten Top
#3
Moin Ralf
Danke für deine schnelle Antwort. OK, glaube zu verstehen. 
Das müsste ich mit jeder Spalte so machen, die ich sortieren möchte? 
Ich wollte eigentlich die Tabelle so "sauber wie möglich halten. Diese Daten haben ja in den Zeilen eigentlich nichts zu suchen.
Aber ein guter Ansatz. Man könnte die Daten mit VBA ergänzen und anschließend rauslöschen.   Aber die Struktur geht sicher verloren wenn Werte identisch sind?
Antworten Top
#4
Meine Antwort ging davon aus, dass nur in Spalte A das Sortierkriterium steht.
Alles andere macht in meinen Augen auch keinen Sinn.
Dass der Tabellenaufbau nicht den Grundsätzen einer ordnungsgemäßen Liste entspricht, sollte klar sein.
Da gilt immer: Pro Zeile ein (kompletter) Datensatz.
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
[-] Folgende(r) 1 Nutzer sagt Danke an RPP63 für diesen Beitrag:
  • Kiosho
Antworten Top
#5
Ja , Du hast natürlich Recht.  
Aber das ist eine Tabelle die mir zur Verfügung gestellt wird, und ich muss mal diese oder jene Spalte sortieren.
Würde mir einen Haufen Arbeit ersparen wenn ich das so hinbekomme das die darunterliegenden Zeilen immer der "übergeordneten" Zeile (auch wenn diese manchmal leer sind) so mit sortiert werden könnte das diese auch wieder da erscheinen wo sie hingehören. Ich hatte gehofft das es da in Excel eine "einfache" Lösung gibt. Zur Not auch per VBA
Nochmal Danke für die schnelle Antwort am frühen Morgen
Antworten Top
#6
Hallo Kiosho,

es wäre relativ einfach, daraus mit einem Makro eine "richtige" Liste zu machen, die man dann auch sortieren kann. Wäre das eine Option?
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
[-] Folgende(r) 1 Nutzer sagt Danke an Klaus-Dieter für diesen Beitrag:
  • Kiosho
Antworten Top
#7
Hi,

habe mal ein wenig rumgespielt:

1. Schritt mach aus deiner Tabelle eine Strg-T-Tabelle. Wegen deiner (unmöglichen) Struktur musst du händisch die komplette Tabelle markieren (statt nur einer Zelle) und dann Strg-T drücken. Da immer 3 Spalten zusammen gehören wählst du als Design der Tabelle eines ohne gebänderte Zeilen.

2. in H1 kommt der Text "Sortierspalte" und in I1 eine Datenüberprüfung mit der Liste deiner möglichen Sortierspalten. Am einfachsten markierst du den Kopf der gerade erstellten Tabelle. Dann hast du aber auch die Spalte "Artikel" mit drin, was weniger geschickt wäre weil nach dieser eben nicht sortiert werden darf.
In I1 wählst du die Spalte aus, nach der du sortieren möchtest.

3. in H2 kommt der Text "Nr." und in I2 die Formel =VERGLEICH(I1;Tabelle1[#Kopfzeilen];0)
Das ist die Spaltennummer der Sortierspalte in der Tabelle.

4. in F1 (direkt neben der Tabelle) schreibst du "sortieren" und in F2 die Formel
=WENN(INDEX(Tabelle1;ZEILE()-ZEILE(Tabelle1[#Kopfzeilen]);$I$2)<>"";INDEX(Tabelle1;ZEILE()-ZEILE(Tabelle1[#Kopfzeilen]);$I$2);INDEX([sortieren];ZEILE()-ZEILE(Tabelle1[#Kopfzeilen])-1))
bei aktuellem Excel wird es etwas kürzer:
=LET(z;ZEILE()-ZEILE(Tabelle1[#Kopfzeilen]);x;INDEX(Tabelle1;z;$I$2);WENN(x<>"";x;INDEX([sortieren];z-1)))
bzw. wenn man es nicht flexibel braucht reicht selbst bei altem Excel:
=WENN(INDEX(A2:E2;1;$I$2)<>"";INDEX(A2:E2;1;$I$2);F1)

5. in I1 Spalte auswählen, nach Spalte F sortieren (über den dortigen Button)
Gruß,
Helmut

Win10 - Office365 / MacOS - Office365
[-] Folgende(r) 1 Nutzer sagt Danke an HKindler für diesen Beitrag:
  • Kiosho
Antworten Top
#8
Hallo Klaus Dieter.
Klar wäre das auch eine Option, wäre mir eh recht wenn man das gleich per vba sortieren könnte. Hauptsache ist, die Struktur muss erhalten bleiben. Also es müssen immer drei zusammenhängende Zeilen ergeben.

Hallo Helmut.
Die Lösung sieht spannend aus. Dazu benötige ich aber etwas Zeit die ich heute nicht habe. 
Werde das die Tage natürlich ausprobieren ob das funktioniert und für meinen Fall praktikabel ist.
Ich muss die Tabelle mehrmals täglich mit verschiedenen Daten filtern und sortieren. 
Da wäre zu überlegen ob ich dafür dann eine vorgefertigte Tabelle mit deinen Formeln anfertige in die ich die Daten dann reinkopiere.
Antworten Top
#9
Eine einzige Spill-Formel in XL365 (oder: von jedem in XLWeb kostenlos upzuloaden, XL2016 geht jedoch nicht!):

.xlsx   Testdatei.xlsx (Größe: 11,47 KB / Downloads: 3)

=SORTIERENMEHRZEILIG(A2:E19;3;{2.7};{1.-1})
mit (aufwärts, 1) Spalte 2 Artikelnummer, darunter (abwärts, -1) den Text (Spalte 7). Spalte 7 ist Spalte 2 der zweiten Datensatzzeile.

Bitte dafür die Schritte im Tutorium gehen.

Ohne Designfusselei hier eben das Ergebnis:
5 123456 14 2 5
0 TEXT TEXT 0 0 0
0 0 0 0 0
100 345589 3 8 100
0 KRR 0 0 0
0 0 0 0 0
17 345589 40 14 17
0 KKJHK 0 0 0
0 TEXT TEXT 0 0 0
12 345589 7 19 12
0 BRU 0 0 0
0 DRR 0 0 0
8 345589 8 3 8
0 BLA BLA 0 0 0
0 TEXT TEXT 0 0 0
12 789123 29 15 12
0 0 0 0 0
0 WIRD 0 0 0
WIN/MSO schicken angeblich alle 5 Sekunden Deinen Screen heim zu Papa (recall-Klausel). 
[-] Folgende(r) 1 Nutzer sagt Danke an LCohen für diesen Beitrag:
  • Kiosho
Antworten Top
#10
Danke LCohen , oder Leonard? 

Vielen Dank für deinen Lösungsansatz.

Wenn Ich das richtig sehe wird nach den Artikeln sortiert?  
Wie kann ich die Formel umstellen  das z.B. nach Anzahl oder Einzelpreis sortiert wird?
Wenn ich es richtig verstehe, könnte ich die Formel auf jede Überschrift anwenden? und mir die passenden Daten dann rauskopieren?
Also ich erstelle die Formel für Rang sortieren, Artikel sortieren, Einzelpreis sortieren etc nebeneinander und hätte für jede Sortierung das passende Ergebnis.
Sehe ich das richtig?
Antworten Top


Gehe zu:


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