Exceldaten hierarchisch darstellen

GrambleX

Lt. Commander
Dabei seit
Dez. 2006
Beiträge
1.512
Hallo,

Ich habe eine Exceltabelle die ungefähr so aufgebaut ist:
EbeneBezeichnungweitere Spalten
A......
A......
B......
C......
C......
B......
B......
A......

Zum sinnvollen Auswerten müsste die Logik hinter der Verschachtelung, die in der ersten Spalte deutlich wird dem Computer klar gemacht werden, sodass man bei der Auswertung z.B. auch sagen kann, dass nur in Daten die dem zweiten Element der Ebene A angehören ausgewertet werden sollen.
Ich habe das Gefühl, dass Access hier geeigneter wäre, jedoch hab ich auch hier kein Plan, wie man die Datei nach Access importieren könnte und gleichzeitig die gewünschte Datenstruktur erhält.
Vllt. kommt auch ein Makro in Frage, daber außer paar VBA Grundlagen kenne ich mich da auch nicht aus, sodass ich im Moment keinen Plan habe in welche Richtung ich mich da informieren könnte.

Ich hoffe, dass ihr hierzu paar Denkanstöße oder Ideen für mich habt!

Danke im Vorraus!
 

GrambleX

Lt. Commander
Ersteller dieses Themas
Dabei seit
Dez. 2006
Beiträge
1.512
Es geht mir nicht darum eine bestimmte Aktion auszuführen, sondern darum die Daten in eine Form zu bringen, dass sie flexibel, schnell, ohne großes Fehlerpotential und nach verschiedensten Fragestellungen beleuchtet werden können. Aufgrund der Datenmenge, der Tiefe von mehreren Ebenen und auch der Möglichkeit, dass eine Auswertung ähnlicher Datensätze kommt, ist eine unhandliche Lösung per Formel genau das, was in Zukunft vermieden werden soll.

Deshalb möchte ich hier auch nicht zu sehr ins Detail gehen - eine spezielle Lösung auf ein einzelnes Problem zugeschnitten ist hier nämlich definitv nicht gesucht. Vielmehr eine Lösung mit der man das obige (sehr grundlegende) Beispiel aber auch ein in Zeilen- und Ebenentiefe beliebig skalierbares Szenario in den Griff bekommt.
 

GrambleX

Lt. Commander
Ersteller dieses Themas
Dabei seit
Dez. 2006
Beiträge
1.512
Danke, aber Autofilter und Pivot-Tabellen sind für dieses Problem absolut nicht geeignet.
Dass Access Exceltabellen lesen kann ist mir auch klar, aber mit einem einfachen Import in Access hab ich die Daten genauso platt in Access dargestellt, wie bisher in Excel und die DB bringt mir gar nichts - deshalb frag ich ja extra. Ich muss an irgendeiner Stelle die eindimensionale Auflistung der Ebenen in eine entsprechende mehrdimensionale Darstellung bekommen, die der Computer dann auch sinngemäß bearbeiten kann. Die Frage ist wie.
 

cumulonimbus8

Admiral
Dabei seit
Apr. 2012
Beiträge
9.520
Auch ich sage dir klipp und klärchen: ACCESS.

Und dem ist es sch. egal wie unsortiert der Mist einlesen wird - du stellst die Frage und Access liefert die Antworten. Denn genau das ist bei so einem Durcheinander ja Sinn einer Datenbank. Und wenns nicht Access sein soll, OpenOffice/LiberOffice mag genügen (und es verdaut wenn nicht Excel dann besser CSV).

CN8
 

GrambleX

Lt. Commander
Ersteller dieses Themas
Dabei seit
Dez. 2006
Beiträge
1.512
Okay, Access macht also ganz automatisch aus den reinen Buchstabenwerten aus einer Spalte eine hierarchische Gruppierung der Daten?

Wenn jetzt in obigem Beispiel in der 2. Spalte Bezeichnungen stehen würden, wie könnte ich mir dann alle Spalten, die eine gesuchte Bezeichnung beinhalten und einer Gruppe auf einer höheren Ebene mit einer 2. gesuchten Bezeichnung untergeordnet sind ausgeben lassen.

Zum Beispiel alle Positionen Autoreifen die den Gruppen Geländewagen und Sportwagen untergeordnet sind, wobei die Gruppen Geländewagen und Sportwagen jeweils auf den Ebenen B und C zu finden wären und sich die Autoreifen in den untergeordneten Ebenen C bis F befinden können. In der Ausgabe müssen die übergeordneten Gruppen natürlich nachvollziehbar bleiben, sonst macht das keinen Sinn.
 
G

GMG-CC

Gast
Danke, aber Autofilter und Pivot-Tabellen sind für dieses Problem absolut nicht geeignet.
Dass Access Exceltabellen lesen kann ist mir auch klar, aber mit einem einfachen Import in Access hab ich die Daten genauso platt in Access dargestellt, wie bisher in Excel und die DB bringt mir gar nichts
Du redest sehr viel "um den heißen Brei herum". Ich bin von 2 Dingen überzeugt: Du hast noch nicht ernsthaft eine Pivot-Tabelle auf deine Daten los gelassen und zweitens würde es uns allen helfen, wenn du (endlich) einmal eine Beispieltabelle einstellen würdest. BTW: Ich finde Access auch die bessere Lösung, allerdings wirst du dich damit auseinandersetzen müssen, und das nicht nur oberflächlich.
 

GrambleX

Lt. Commander
Ersteller dieses Themas
Dabei seit
Dez. 2006
Beiträge
1.512
Ich finde nicht, dass ich um den heißen Brei herum rede. Ich suche ja auch explizit nicht nach der Lösung für ein spezielles Problem, sondern einen (theoretischen) Ansatz um mit der Ebenenbezeichnung in Spalte 1 klar zu kommen. Das das nicht ganz so anschaulich ist, ist mir klar, aber wenns ein einfaches Problem wäre, dass man spezifizieren könnte wäre ich auch ehrlich gesagt nicht auf fremde Hilfe angewiesen.
Das ganze auf eine einfache Basis zu bringen habe ich oben bereits versucht. Von der Spaltenzahl gehen die Tabelle halt noch einige 1000 Zeilen weiter runter, von der Ebenentiefe gehts auch noch paar Ebenen tiefer und es gibt noch einige Spalten für weitere Daten und Summen,
Das Grundproblem, warum auch Pivottabellen hier an ihre Grenzen kommen ist die Darstellung der Hierarchie durch einfache Buchstaben in der ersten Spalte. Ich habe mich mit Pivottabellen beschäftigt (die werden ja schließlich überall vergöttert) und finde die auch ganz ganz toll und habe mit denen auch schon viele Arbeiten gut hinbekommen! Aber auch der Pivottabelle fehlt aus meiner Sicht die Logik um eine Abfrage zu starten ob ein gesuchter Wert einer bestimmten Ebene untergordnet ist. Excel müsste ja (jetzt mal ganz kleinlich angenommen) bei einem Suchtreffer so lange jede Zeile hochwandern bis es bei der nächsten Eintragung auf Ebene X angekommen ist um dann zu prüfen ob die Bezeichnung dieser Eintragung mit der Suche übereinstimmt.

Nochmal ein Beispiel:
EbeneBezeichnung
AVariante 1
AVariante 2
BPosition XY
BPosition XZ
AVariante 1
BPosition XX
CPosition XY
CPosition XY
AVariante 2
BPosition XX
CPosition XY
CPosition XY
BPosition XU
CPosition XY
CPosition XY
BPosition XX
CPosition XY
CPosition XY

tr]
[td]A[/td]
[td]Variante 3[/td]
[/tr]

Hier sollen z.B. alle Positionen XY herausgefiltert werden, die der Position XX untergeordnet sind. Weiterhin soll nicht die hierarchische Information verloren gehen. Ich muss z.B. wissen, dass die letzten beiden Spalten im obigen Beispiel auf Ebene B der Position XX und auf Ebene A der Variante 3 untergeordnet sind. Eien gewünschte Lösung wäre z.B.:

EbeneBezeichnung
AVariante 1
BPosition XX
CPosition XY
CPosition XY
AVariante 2
BPosition XX
CPosition XY
CPosition XY
BPosition XX
CPosition XY
CPosition XY

tr]
[td]A[/td]
[td]Variante 3[/td]
[/tr]

Anschaulicher gehts leider nicht. In echt ist das noch unanschaulicher, sowohl von der Datenmenge, als auch von den Bezeichnungen.
 
G

GMG-CC

Gast
Ich finde nicht, dass ich um den heißen Brei herum rede. [..] Hier sollen z.B. alle Positionen XY herausgefiltert werden, die der Position XX untergeordnet sind.
Aha. Also, es sollen "alle XY herausgefiltert werden" ... und als beispielhaftes Ergebnis steht dort neben dem genannten Wunschergebnis noch alles andere wie "Position XX", "Variante 1", "Variante 2".

Ich verstehe es nicht, ich bin zu blöd dafür. Und damit raus. Sorry.
 

GrambleX

Lt. Commander
Ersteller dieses Themas
Dabei seit
Dez. 2006
Beiträge
1.512
Dass das Problem nicht ganz einfach ist habe ich ja geschrieben. ;)

Aber wenn man nicht nur meine fett zitierte Anforderung beachtet und im Beispiel auch auf die erst Spalte achtet, sollte das Beispiel doch jetzt wirklich ganz klar und eindeutig sein.

Hier sollen z.B. alle Positionen XY herausgefiltert werden (1), die der Position XX untergeordnet sind (2). Weiterhin soll nicht die hierarchische Information verloren gehen (3).
Auch wenn ich mich vorher vllt. wirklich nicht klar ausgedrückt habe halte ich das Beispiel jetzt für sehr gut verständlich. Hätt ich nur die 1. Anforderung würde ich ganz normal mit Filtern/Pivot arbeiten. Das wäre sicherlich kein Problem. Aber vllt. ist das Problem für so ein Forum ja auch etwas zu kompliziert.

Nebeninfo:
Muss man jetzt für die Frage nicht verstehen, aber um zu zeigen dass ich mir auch Gedanken mache: Die beste Lösung, die ich bis jetzt gefunden habe ist das ganze nach Access zu importieren, eine weitere Spalte zu erstellen, in die entweder die aktuelle Bezeichnung der Spalte kopiert wird (falls Ebene=1) oder die Bezeichnung die in der Abfrage zuvor ermittelt wurde. So erhalte ich eine Zeile, in der jeweils steht zu welcher Hauptgruppe (Ebene 1) der Eintrag gehört. Über die Datenbankanalyse sollte es dann möglich sein die Inhalte der Hauptgruppen in jeweils eigene Tabellen auszulagern, die mit der Haupttabelle verknüpft sind. Da ich das für mehrere Ebenen machen muss und mir noch nicht klar ist wie ich es bewerkstellige, dass die Informationen über die Hauptgruppen in der ersten Tabelle erhalten bleiben ist das natürlich noch keine gute Lösung für das Problem.
 
Top