Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1556to1560
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Hierarchie erstellen

Hierarchie erstellen
11.05.2017 12:41:27
Oldmary
ich möchte gerne Hierarchiestufen erstellen, kann mir dabei jemand helfen?
Bsp.
Ich möchte eine Hierarchie erstellen anhalnd der Spalte A.
Wenn die Nummer 9-stellig, ist es auf jeden Fall die Stufe 1. Wenn die Nummer kleiner als 9-stellig, muss geprüft werden ob der Inhalt dieser Nummer in einer anderen Zelle vorhanden ist. Falls ja, muss er die hierarchiestufe erhöhen, falls nein, muss die 1 geschrieben werden. (siehe Beispiel)
Ich hab schon so viel probiert mit sverweis und finden, ich kriegs einfach nicht hin.
Kann mir jemand helfen?
So wie unten aufgeführt soll das nachher aussehen
Spalte A ,Spalte B
123456789 ,1
123456 ,2
123 ,4
159657159 ,1
15965 ,2
156 ,2
458655 ,1
458 ,2
1235 ,3
12356 ,2
125688 ,1
15622 ,1

21
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Hierarchie erstellen
11.05.2017 14:09:08
Max2
Hallo,
eine Beispieldatei wäre nett.
Wie ergibt sich die Nummer 2 und 3?
Du hast uns nur 4 und 1 erklärt.
AW: da ist auch mE einiges nicht eindeutig ...
11.05.2017 15:48:12
...
Hallo Max2,
... so u.a.:
- wie begründet ergibt sich für die 156 die "Kategorie 2" und die gleiche "Kategorie 2" auch für die 15965?
- analog wie begründet ergibt sich für die 12356 die "Kategorie 2"?
Gruß Werner
.. , - ...
AW: da ist auch mE einiges nicht eindeutig ...
11.05.2017 16:33:01
oldmary
das sind keine Kategorien, sondern Hierarchien. Ich weiß nicht, wie ich das erklären soll, aber ich versuchs mal:
geordnet klappts vielleicht besser, doch so ist es eben nicht in der Realität:
Ich habe die Zugehörigkeiten extra farbig markiert.
Es gibt z.B. die Nummer 15622 und die 156. Also wäre die Hierarchiestufe für 15622 die 1.Stufe, also 1, und für die 156 die 2. Stufe, demzufolge 2. Wenn noch eine 15 vorhanden wäre, wäre das die 3. Hierarchiestufe. Es gibt aber auch z.B. 1561 die auch wieder die 156 beinhaltet, aber nicht die 15622, somit wäre das trotzdem falls es keine weiteren Unterstufen gibt, die 1. Stufe. Alle 9-stelligen Nummern, sind auf jeden Fall der Hierarchiestufe 1 zuzuordnen, da das die kleinste Einheit ist.
geordnet würde das so aussehen
Nummer 15622, Hierarchiestufe 1 (weil das die kleinste Einheit ist mit der 22 hinten)
Nummer 1561, Hierarchiestufe 1 (weil es auch die kleinste Einheit ist mit der 1 hinten)
Nummer 156, Hierarchiestufe 2 (weil sie einer bzw. mehreren Einheiten übergeordnet ist)
Nummer 15, Hierarchiestufe 3 (weil sie wiederum der 156 übergeordnet ist) usw.
Ich hoffe ich konnte es einigermaßen verständlich machen.
Anzeige
ahja?
11.05.2017 16:55:48
Max2
Hallo,
also wenn hinten 22 steht dann 1
wenn hinten 1 steht dann 1
wenn irgendwo 156 enthalten ist dann 2?
12356 = 2...Warum? Etwa weil 1, 5 und 6 enthalten sind?
Ich sehe dahinter absolut kein System oder Logik.
Mir kommt es bis Dato willkürlich vor, tut mir leid.
AW: ahja?
11.05.2017 17:15:50
oldmary
das ist nicht willkürlich, sondern mein Problem.
Kennst du das nicht, so ne Gliederung bei manchen Listen:
z.B. 12 Fleisch
121 Geflügel
1211 Schenkel
1212 Brust
122 Rind
1221 Beinscheibe
122100101 weniger als 100 g
122100102 100 - 200g
1222 Leber
13 Gemüse
13101 Salat
131000101 Kopfsalat
und für so eine ähnliche Liste möchte ich die Hierarchieebenen festlegen, wobei die Nummer mit der größten Stellenanzahl die kleinste Hierarchiestufe bedeutet, wobei die Nummern fest vorgegeben sind.
Anzeige
Normalerweise bildet man Hierarchien genau ...
11.05.2017 18:43:22
Luc:-?
…umgekehrt, Mary,
was möglicherweise hier das Verständnis erschwert:
1
1.1
1.1.1
1.1.2
1.2
1.2.1
1.2.2
2
2.1
2.2
3

Wenn nun mehrere deiner Nrn mit den gleichen Ziffern beginnen, gehören sie eigentlich alle zu einer Kategorie, die durch die jeweiligen Folgeziffern hierarchisch geordnet wird, ganz im Sinne von Oberbegriffen und ihren tieferen Aufgliederungen. Dir scheint aber eher ein allgemeines Hierarchie-Schema vorzuschweben, was auf die Spezifika keine Rücksicht nimmt und nur von existierenden Übereinstimmungen ausgeht. D.h. also, alle maximal großen Zahlen sind immer HStufe 1, alle mit ihren 1.Ziffern übereinstimmenden nächstgrößeren HStufe 2 usf…
Es interessiert also nicht, ob die jeweils maximal großen Zahlen unterschiedlich sind, sie sind stets HStufe 1, egal wieviel Ziffern sie haben…‽
Das wäre dann für dein letztes Bsp so:
2: 121 Geflügel
1: 1211 Schenkel
1: 1212 Brust
3: 122 Rind
2: 1221 Beinscheibe
1: 122100101 weniger als 100 g
1: 122100102 100 - 200g
2: 1222 Leber
3: 13 Gemüse
2: 13101 Salat
1: 131000101 Kopfsalat
Ganz schön „irre“ muss ich da sagen und fragen, wofür benötigt man solch eine umgekehrte, rein formale Hierarchie - zu irgendwelchen Steuerungszwecken?
Gruß, Luc :-?
Besser informiert mit …
Anzeige
AW: dazu ergänzend angemerkt ...
11.05.2017 19:29:22
...
Hallo,
... eine "Steuerung" nach einer derartigen Hierarchie erscheint mir fast ausgeschlossen. Ich erkenne momentan auch keinen sonstigen Sinn. Hinzu kommt dass die eingangs vom TE aufgestellte Hierarchiezuordnung für mich auch nicht logisch nach seinen Vorgaben nachvollziehbar ist.
Gruß Werner
.. , - ...
Wenn sie umgekehrt wäre, ...
11.05.2017 20:06:04
Luc:-?
…Werner,
könnte man damit TextEinrückungen steuern. So wie es aber anscheinend gemeint ist, fällt mir auf Anhieb auch nichts ein…
Gruß, Luc :-?
AW: Wenn sie umgekehrt wäre, ...
12.05.2017 09:58:50
oldmary
Vielen Dank für deine Bemühungen.
Zur Beruhigung, es ist nicht für Steuerzwecke.
LG Marion
Aber das Zirkelbezug-Problem!
12.05.2017 13:08:25
Sheldon
Hallo an alle,
wenden wir uns kurz mal ab von den logischen Problemen. Bei meiner Lösungssuche scheiterte ich stets am Zirkelbezugsproblem. Geht es auch mit einer Formellösung?
Ich habe Marions Beispielzahlen in den Zellen A3:A14 untergebracht und diese Formel in Spalte D drum gebastelt, mit Zirkelbezug natürlich.
{=MAX(WENN(ISTFEHLER(SUCHEN(A3&"?*";TEXT(A$3:A$14;"@")));0;D$3:D$14)+1)}
Dann versuchte ich mich daran, den Zirkelbezug mit zwei unterschiedlichen Bereichen zu vermeiden. Geht natürlich auch nicht…
{=MAX(WENN(ISTFEHLER(SUCHEN(A3&"?*";TEXT(A$2:A2;"@")));0;D$2:D2)+1;WENN(ISTFEHLER(SUCHEN(A3&"?*"; TEXT(A4:A$15;"@")));0;D4:D$15)+1) }
Aber wie, meine lieben Allwissenden, löst man dieses Problem?
Gruß
Sheldon
Anzeige
AW: der Zirkelbezug lässt sich umgehen, aber ...
13.05.2017 10:59:09
...
Hallo Sheldon,
... das eigentlich Problem (aus den Daten lässt sich mE keine Eindeutigkeit ableiten) bleibt bestehen.
Ich finde jedenfalls momentan keine Lösung.
Folgende Matrixfunktin(alität)sformel in B3: =SUMME(INDEX(--ISTZAHL(-(SUCHEN(A3;A$2:A$15)=1));))
ermittelt zwar einige angetrebte Ergebniswerte aber die Daten lassen mE keine eindeutige Lösung zu.
Gruß Werner
.. , - ...
Letztlich komme ich doch wieder zum Zirkelbezug…
13.05.2017 14:59:13
Sheldon
Hallo Werner,
ich bin jedesmal wieder beeindruckt von Deinem Formelstil! auf Deine Idee mit dem Zählen aller Einträge mit gleichem Beginn kam ich auch schon. Das Problem ist aber, dass die Anzahl keine Rolle spielt, sondern (üblicher Weise) die Anzahl Zwischenschritte zur Wurzel. Hier ist nun die normale Logik auf den Kopf gestellt und Marions Zahlen kann ich auch beim besten Willen und Bemühen nicht nachvollziehen, da sine einige unerklärbare drin.
Aber dennoch, man kann zB die 123456789 als eine Wurzel ansehen. Dann wäre die nächstkürzere Zahl Ebene W+1, das ist die 123456. Dann wiederum kommt man zur 123, welches also die W+3 wäre.
Verwirrend, bzw unlösbar wird die auf dem Kopf stehende Hierarchie aber durch die 1235. Die ist eindeutig eine Ebene höher als 123, weil eine Zahl länger. Aber hat sie Deshalb die Ebene von 123 minus 1 oder ist sie die W+1 von 12356?
So oder so, die Ebenenzahl leitet sich stets von der direkt höheren hierarchischen Ebene ab. Und deshalb gibts auch immer das Problem mit dem Zirkelbezug.
Ich lasse in solchen Fällen immer ein Makro schlicht die Verbindungen zwischen zwei Zellen erstellen, die Wurzelobjekte erhalten einfach die Zahl 0, jede verbundene Zelle erhält Wurzelzelle +1 usw, so erhalte ich meine Hierarchie. Aber nur mit Formeln?
Gruß
Sheldon
Anzeige
AW: dazu nur folgendes ...
13.05.2017 17:42:19
...
Hallo Sheldon,
... ich entnehme momentan Deinen Ausführungen, dass Du auch keine eindeutige Logik hinter den vorgegebenen Datenwerten erkennen kannst. Oder?
Wenn aber für mich keine eindeutigen Vorgaben erkennbar ist, kann ich auch keine keine Lösung suchen und erst recht nicht finden.
Gruß Werner
.. , - ...
AW: Stimmt, eine Logik ist nicht zu erkennen! owT
13.05.2017 17:50:47
Sheldon
Gruß
Sheldon
Doch, es gibt eine, nur ist die mathematisch ...
14.05.2017 03:59:12
Luc:-?
…nur schwer fassbar, Werner & Sheldon,
und setzt sicher auch Sortierung voraus.
Übrigens hatte ich mich bei meiner manuellen Ermittlung der HStufen zum letzten Bsp geirrt, Leber und Salat müssten auch die 1 haben!
Morrn, Luc :-?
Anzeige
AW: na, dann zeig uns die mal auf owT
14.05.2017 11:27:22
...
Gruß Werner
.. , - ...
Das hätte ich nicht geschrieben, wenn's nicht ...
14.05.2017 19:33:22
Luc:-?
…auch so wäre, Werner,
nur habe ich bis jetzt bloß eine Abfolge von Schritten in Fmln, um das gezeigte Ergebnis zu erzielen:
 ABCDEFGHIJ
1
PrimärdatenSchritt 1: Sortierung Primärdaten in TextSchritt 2Schritt 3Schritt 4.1Schritt 4.2Schritt 5ArtNrArtTextform HierarchArtNrArtTextexist Anzahlöfter 1×>0 um je 1 Zeile verschobenform Hierarch122100101weniger als 100 g2121Geflügel310021211Schenkel11211Schenkel100011222Leber11212Brust1000113101Salat3122Rind511031221Beinscheibe21221Beinscheibe310021212Brust1122100101weniger als 100 g10001122100102100 - 200g 1122100102100 - 200g 10001122Rind11222Leber1000113Gemüse213Gemüse31002121Geflügel1131000101Kopfsalat10001131000101Kopfsalat113101Salat10001D3:D13: {=INDEX(""&A3:A13;VERGLEICH(KKLEINSTE(--(A3:A13&WIEDERHOLEN("0";9-LÄNGE(A3:A13)));ZEILE(A1:A11));--(A3:A13&WIEDERHOLEN("0";9-LÄNGE(A3:A13)));))}E3:E13: {=INDEX(B3:B13;VERGLEICH(KKLEINSTE(--(A3:A13&WIEDERHOLEN("0";9-LÄNGE(A3:A13)));ZEILE(A1:A11));--(A3:A13&WIEDERHOLEN("0";9-LÄNGE(A3:A13)));))}F3[:F13]:=ZÄHLENWENN(D3:D$13;D3&"*")G3[:G13]:=--(F3>1)H3:H13,I3:I13: {=WENN(G3:G13=0;0;G4:G14)}J3[:J13]:=SUMME(G3:I3)+1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Du bzw ihr kannst/könnt ja dann eine einzige Fml daraus machen, obwohl sich die gute Mary leider weder zum Zweck des Ganzen ausgelassen noch die Richtigkeit meiner Annahmen bestätigt hat… ;-]
Luc :-?
Anzeige
AW: in diesem Beispiel bestätigst Du mE ...
15.05.2017 09:38:14
...
Hallo Luc,
... mit Deiner Rechnung Deine am 11.05 getroffene Annahmen. Mary selbst hatte ja dazu keine getroffen.
Doch mit Deinen Rechenschritten mit den Daten, die Mary in Ihrer Ausgangsfragestellung eingestellt hat, erhalte ich die da von Mary auch vorgegebenen Hierarchiestufen nicht. Insofern bleibe ich momentan noch bei meinen Aussagen Mary gegenüber. Womit ich aber nicht Deine Annahme anzweifeln möchte. Doch solange keine eindeutigen Aussagen von Mary vorliegen, ist es wohl wenig sinnvoll, nach einer evtl. günstigeren Formellösung Ausschau zu halten.
Gruß Werner
.. , - ...
Anzeige
Alt-Mariechen hat entweder das Interesse ...
15.05.2017 18:39:29
Luc:-?
…an ihrem Problem verloren oder will uns ohnehin nur veräppeln, Werner,
denn ihr letztes Bsp, das ich ja benutzt habe, ist einerseits zu speziell und andererseits zu simpel, um eine endgültige Aussage zu treffen. Auch hat sie dazu keine manuelle Ergebnis­Wunsch­Vorgabe gemacht, so dass wir unsere Bemühungen eigentlich sofort ein­stellen müssten! Erweitert man ihr Bsp nämlich noch um eine Rubrik 12 Fleisch, wird das Ergebnis sofort strittig. Ich habe das mal im Folgenden einander ggüber gestellt:
 ABCDEFGHIJ
17
Schritt 2Schritt 3.1Schritt 3.2Schritt 1: sort PDat als TextSchritt 2Schritt 3Schritt 4.1Schritt 4.2Schritt 5FolgeAnzFlgMaxima 1F'Maxima 2ArtNrArtTextexist Anzahlöfter 1×>0 um je 1 Zeile verschobenrein form Hier85412Fleisch91103222121Geflügel310020111211Schenkel100010111212Brust10001433122Rind511032221221Beinscheibe31002011122100101weniger als 100 g10001011122100102100 - 200g 100010111222Leber1000122213Gemüse31002011131000101Kopfsalat1000101113101Salat100011 A19[:A30]:=ZÄHLENWENN(D20:D$31;D19&"*") hier Ende bei 0-Vektor B19[:B30]: {=MAX((A20:A$31<A19)*A20:A$31)+1}C19[:C30]: {=MAX((B20:B$31<B19)*B20:B$31)+1}dort Ende bei FolgeMaxima x = FolgeMaxima x+1
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
Würde die RubrikenStruktur noch komplizierter sein, müssten sicher auch dynamische Bereiche definiert wdn, die der jeweiligen OberRubrik zugeordnet sind. Vergleichbares hatten wir schon mal und Du hattest auch eine einfachere Lösung (als ich – falls ich mich recht erinnere) dafür gefunden.
Ansonsten könnte man mit so etwas höchstens bestimmen, wie groß der Abstand zur kleinsten Unter­gliede­rung ist, wobei ja auf jeder möglichen Stufe Rubriken fehlen könnten. Eine Situation, wie man sie bei Taxonen in der Biologie (Ver­wandt­schaft/Ab­stam­mung) vorfinden kann.
Luc :-?
Anzeige
AW: wie Du schon selbst schreibst: Einstellen owT
15.05.2017 18:45:25
...
Gruß Werner
.. , - ...
ahja?
11.05.2017 16:55:49
Max2
Hallo,
also wenn hinten 22 steht dann 1
wenn hinten 1 steht dann 1
wenn irgendwo 156 enthalten ist dann 2?
12356 = 2...Warum? Etwa weil 1, 5 und 6 enthalten sind?
Ich sehe dahinter absolut kein System oder Logik.
Mir kommt es bis Dato willkürlich vor, tut mir leid.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige