Kategorien in Verschieden Ebenen aufbauen

Greffetikill

Commander
Registriert
Jan. 2009
Beiträge
2.411
Hallo liebe Community,

ich hänge an ein Problem schon etwas länger fest und beiße mir die Zähne daran aus, ich hoffe Ihr könnt mir helfen.

Folgendes:

Habe eine Datei die so aufgebaut ist:

[TABLE="class: grid, width: 500, align: center"]
[TR]
[TD]101[/TD]
[TD]Kategorie-Level-1[/TD]
[TD][/TD]
[/TR]
[TR]
[TD]102[/TD]
[TD]Kategorie-Level-2.1[/TD]
[TD]101[/TD]
[/TR]
[TR]
[TD]103[/TD]
[TD]Kategorie-Level-2.2[/TD]
[TD]101[/TD]
[/TR]
[TR]
[TD]104[/TD]
[TD]Kategorie-Level-2.3[/TD]
[TD]101[/TD]
[/TR]
[TR]
[TD]124[/TD]
[TD]Kategorie-Level-3.1[/TD]
[TD]102[/TD]
[/TR]
[TR]
[TD]168[/TD]
[TD]Kategorie-Level-3.2[/TD]
[TD]102[/TD]
[/TR]
[TR]
[TD]201[/TD]
[TD]Kategorie-Level-3.3[/TD]
[TD]103[/TD]
[/TR]
[TR]
[TD]241[/TD]
[TD]Kategorie-Level-3.4[/TD]
[TD]103[/TD]
[/TR]
[TR]
[TD]314[/TD]
[TD]Kategorie-Level-3.5[/TD]
[TD]104[/TD]
[/TR]
[TR]
[TD]441[/TD]
[TD]Kategorie-Level-3.6[/TD]
[TD]104[/TD]
[/TR]
[/TABLE]


Ich brauche aber die Daten so:

[TABLE="class: grid, width: 500, align: center"]
[TR]
[TD]Kategorie-Level-1[/TD]
[TD]Kategorie-Level-2.1[/TD]
[TD]Kategorie-Level-3.1[/TD]
[/TR]
[TR]
[TD]Kategorie-Level-1[/TD]
[TD]Kategorie-Level-2.1[/TD]
[TD]Kategorie-Level-3.2[/TD]
[/TR]
[TR]
[TD]Kategorie-Level-1[/TD]
[TD]Kategorie-Level-2.2[/TD]
[TD]Kategorie-Level-3.3[/TD]
[/TR]
[TR]
[TD]Kategorie-Level-1[/TD]
[TD]Kategorie-Level-2.2[/TD]
[TD]Kategorie-Level-3.4[/TD]
[/TR]
[TR]
[TD]Kategorie-Level-1[/TD]
[TD]Kategorie-Level-2.3[/TD]
[TD]Kategorie-Level-3.5[/TD]
[/TR]
[TR]
[TD]Kategorie-Level-1[/TD]
[TD]Kategorie-Level-2.3[/TD]
[TD]Kategorie-Level-3.6[/TD]
[/TR]
[/TABLE]

Wie gehe ich da dran? Mein versuch war es mit WENN zu arbeiten, jedoch schreibe ich mir ja dann ein Ast.
Ich brauche eine Formel die Dynamisch sucht und hinzufügt. Hat da jemand eine Lösung?

MfG Greffetikill
 
Gutag Tag,

also irgendwie kann ich deine Frage nicht nachvollziehen :rolleyes:

Kannst du das etwas genauer beschreiben? Wo möchtest du nach was mit "WENN" sortieren/anzeigen lassen?
was soll wo gesucht und was soll darauf hin hinzugefügt werden?

Gruß
 
wie erfolgt die zuordnung zu den kategorien? das sieht für mich zufällig aus, oder ich kann die regelmäßigkeit nicht erkennen.

und wonach willst du überhaupt suchen mit einer formel?
 
Womit versuchst du das zu machen? Excel? VB-Script?


Seine Ausgabe ist einfach: Kategorie-Level-X.Y
Wobei die Spalten nach X gruppiert werden und die Zeilen dann nach Y sortiert.
 
Wir sprechen von Excel:

[TABLE="class: cms_table_grid, align: center"]
[TR]
[TD]ID der Kategorie[/TD]
[TD]Name der Kategorie[/TD]
[TD]Zugewiese ID der Kategorie[/TD]
[/TR]
[TR]
[TD]101[/TD]
[TD]Kategorie-Level-1[/TD]
[TD][/TD]
[/TR]
[TR]
[TD]102[/TD]
[TD]Kategorie-Level-2.1[/TD]
[TD]101[/TD]
[/TR]
[TR]
[TD]103[/TD]
[TD]Kategorie-Level-2.2[/TD]
[TD]101[/TD]
[/TR]
[TR]
[TD]104[/TD]
[TD]Kategorie-Level-2.3[/TD]
[TD]101[/TD]
[/TR]
[TR]
[TD]124[/TD]
[TD]Kategorie-Level-3.1[/TD]
[TD]102[/TD]
[/TR]
[TR]
[TD]168[/TD]
[TD]Kategorie-Level-3.2[/TD]
[TD]102[/TD]
[/TR]
[TR]
[TD]201[/TD]
[TD]Kategorie-Level-3.3[/TD]
[TD]103[/TD]
[/TR]
[TR]
[TD]241[/TD]
[TD]Kategorie-Level-3.4[/TD]
[TD]103[/TD]
[/TR]
[TR]
[TD]314[/TD]
[TD]Kategorie-Level-3.5[/TD]
[TD]104[/TD]
[/TR]
[TR]
[TD]441[/TD]
[TD]Kategorie-Level-3.6[/TD]
[TD]104[/TD]
[/TR]
[/TABLE]


Ich schiebe mal ein vll besseres Beispiel rein:

Unbenannt.PNG

Das wichtige ist halt das der Aufbau zum Importieren für mein Programm so wird wie oben gewünscht:

Level 1 -> Level 2 -> Level 3 -> Level 4 -> USW

Nur muss halt Excel zählen wie viele Positionen 101 zugewiesen sind und dann je nachdem so viele Spalten mit dem Level erstellen.

Level 1 ist noch Easy, da das alle Spalten in der Tabelle sind jedoch Level 2 müsste Excel schon zählen.
 
Zuletzt bearbeitet:
Das klingt für mich alles sehr nach relationaler Datenbank. Sollte man für was nicht Access nehmen (wenn man im Microsoft Umfeld bleiben will)?
 
Die Ursprungstabelle bildet also eine Hierarchie ab (also einen Baum), in der Form "ID, Name, ParentID"?

Und du möchtest jetzt pro Zeile für jeden Knoten den gesamten Weg bis zur Wurzel haben, aber nur die Namen? Oder möchtest du nur für Endelemente (Blätter), die also selbst keine Kinder mehr aufweisen, jeweils eine Zeile haben?
 
Richtig es soll vom letzten Kind bis zum Vaterelement immer aufgeschlüsselt sein.

Sprich bis zur 5 Ebene aber immer in einer eigenen Zeile

Ebene 1 | Ebene 2 | Ebene 3 | Ebene 4 | Ebene 5
 
hm.
ok.

das Ganze würde ich, zwar etwas umständlich, aber für den einmaligen Gebrauch sicher ausreichend, wie folgt lösen:

rechts neben deine zugewiesene ID einen SVerweis "=WENN(C3=0;"";SVERWEIS(C3;$A$2:$C$11;2))" und "=WENN(C3=0;"";SVERWEIS(C3;$A$2:$C$11;3))". damit bekommt man die kategorie rausgesucht.
daneben dann das ganze noch einmal (und dann noch 2 mal) ungefähr so "=WENN(E6=0;"";SVERWEIS(E6;$A$2:$C$11;2))" und "=WENN(E6=0;"";SVERWEIS(E6;$A$2:$C$11;3))".

Die SPalten mit den IDs kann man sich am Ende ausblenden lassen und nur die Kategorien kopieren.

[table="width: 600"]
[tr]
[td]A1[/td]
[td]B1[/td]
[td]C1[/td]
[td]D1[/td]
[td]E1[/td]
[td]F1[/td]
[td]G1[/td]
[/tr]
[tr]
[td]101[/td]
[td]Kategorie-Level-1[/td]
[td][/td]
[td][/td]
[td][/td]
[td][/td]
[td][/td]
[/tr]
[tr]
[td]102[/td]
[td]Kategorie-Level-2.1[/td]
[td]101[/td]
[td]Kategorie-Level-1[/td]
[td]0[/td]
[td][/td]
[td][/td]
[/tr]
[tr]
[td]103[/td]
[td]Kategorie-Level-2.2[/td]
[td]101[/td]
[td]Kategorie-Level-1[/td]
[td]0[/td]
[td][/td]
[td][/td]
[/tr]
[tr]
[td]104[/td]
[td]Kategorie-Level-2.3[/td]
[td]101[/td]
[td]Kategorie-Level-1[/td]
[td]0[/td]
[td][/td]
[td][/td]
[/tr]
[tr]
[td]124[/td]
[td]Kategorie-Level-3.1[/td]
[td]102[/td]
[td]Kategorie-Level-2.1[/td]
[td]101[/td]
[td]Kategorie-Level-1[/td]
[td]0[/td]
[/tr]
[tr]
[td]168[/td]
[td]Kategorie-Level-3.2[/td]
[td]102[/td]
[td]Kategorie-Level-2.1[/td]
[td]101[/td]
[td]Kategorie-Level-1[/td]
[td]0[/td]
[/tr]
[tr]
[td]201[/td]
[td]Kategorie-Level-3.3[/td]
[td]103[/td]
[td]Kategorie-Level-2.2[/td]
[td]101[/td]
[td]Kategorie-Level-1[/td]
[td]0[/td]
[/tr]
[tr]
[td]241[/td]
[td]Kategorie-Level-3.4[/td]
[td]103[/td]
[td]Kategorie-Level-2.2[/td]
[td]101[/td]
[td]Kategorie-Level-1[/td]
[td]0[/td]
[/tr]
[tr]
[td][/td]
[td][/td]
[td][/td]
[td][/td]
[td][/td]
[td][/td]
[td][/td]
[/tr]
[tr]
[td][/td]
[td][/td]
[td][/td]
[td]=WENN(C2=0;"";SVERWEIS(C2;$A$2:$C$11;2))[/td]
[td]=WENN(C2=0;"";SVERWEIS(C2;$A$2:$C$11;3))[/td]
[td]=WENN(E2=0;"";SVERWEIS(E2;$A$2:$C$11;2))[/td]
[td]=WENN(E2=0;"";SVERWEIS(E2;$A$2:$C$11;3))[/td]
[/tr]
[/table]
 
Zuletzt bearbeitet:
Zurück
Oben