Wie bekomme ich Excel zur automatischen Gliederung der Hierarchie in Gruppen?
51670
JoeNahmias
Ich habe also eine Menge Daten in einer Excel-Tabelle, die ungefähr so aussieht:
Level Hierarchy Name 0 1 Sam 1 1.1 Bill 2 1.1.1 George 3 1.1.1.1 Fred 4 1.1.1.1.1 Richard 4 1.1.1.1.2 Steve 4 1.1.1.1.3 Max 4 1.1.1.1.4 Sven 3 1.1.1.2 Mike 4 1.1.1.2.1 John 4 1.1.1.2.2 Isaac 4 1.1.1.2.3 Zack 2 1.1.2 James 3 1.1.2.1 Henry 4 1.1.2.1.1 Greg . . .
Ich möchte automatisch Gruppen im Arbeitsblatt erstellen, sodass Richard, Steve, Max und Sven unter Fred zusammengefasst sind. John, Isaac und Zack sind unter Mike. usw...; und sie rollen alle unter Sam auf.
Ich habe versucht, die Auto-Gliederungsfunktion von Excel zu verwenden, erhalte jedoch die Meldung "Eine Gliederung kann nicht erstellt werden". Kann mir jemand sagen, wie man diese Arbeit machen kann, oder eine andere Möglichkeit vorschlagen?
Die Daten stammen aus einem anderen System, aber ich kann die Daten vor dem Import in Excel umwandeln - wenn dies einfacher ist.
Wenn Sie eine begrenzte Anzahl von Ebenen haben, würde ich Folgendes tun. Wenn Ihre Daten jemals aktualisiert werden müssen, hat dies den Vorteil einer einfachen Pivotaktualisierung (dh Sie müssen sie nur einmal einrichten):
Erstellen Sie neue Spalten (number = max level), um den Chef der Person auf jeder Hierarchieebene darzustellen (beachten Sie, es wird davon ausgegangen, dass es nach dem Suchfeld sortiert ist).
Formel in D3 und über und ab kopiert: =IF($B3=D$2,$A3,IF($B3<D$2,"",D2))
Erstellen Sie eine Pivot-Tabelle (Kompakt- oder Gliederungsansicht je nach Präferenz), die jeden Ebenenboss als Zeilenbeschriftung definiert
Filtern Sie leere Levelbosse auf jeder Ebene heraus
Das ist ziemlich gut. Die Pivot-Tabelle bietet jedoch keine Möglichkeit, alle Einträge auf einer bestimmten Ebene wie bei der Gruppierung auszublenden.
JoeNahmias vor 10 Jahren
0
Eigentlich tut es. Klicken Sie mit der rechten Maustaste auf eine beliebige Person der gewünschten Ebene (oder klicken Sie mit der rechten Maustaste auf die Ebenennummer, wenn Sie in Gliederungsform klicken möchten), und wählen Sie dann Erweitern / Reduzieren-> Gesamtes Feld reduzieren
Madball73 vor 10 Jahren
1
@ Madball73 Gibt es eine Möglichkeit, dies automatisch mit VBA zu tun? Ich habe diese http://stackoverflow.com/questions/35865413/automatic-grouping-excel-vba/35865903?noredirect=1#comment59404015_35865903, aber es erfolgt keine Untergruppierung.
Mert Karakaya vor 8 Jahren
0
3
teylyn
Um die automatische Gliederungsgruppierung zu verwenden, müssen Sie mit der Funktion Subtotal () Summenzeilen (manuell) einfügen. Excel erkennt dies dann als Haltepunkt für die Gruppierung. Weitere Informationen finden Sie im Microsoft-Artikel Gliederungsdaten (Gruppendaten) in einem Arbeitsblatt .
Irgendeine Möglichkeit, dies zu automatisieren? Ich habe über 5000 Zeilen und bin mir nicht mal sicher, was ich in die Untertitelfunktion setzen würde
JoeNahmias vor 10 Jahren
0
Wenn Sie keine Zahlen zwischensummen möchten, das heißt, wenn Sie die Gruppierung nur so wünschen, dass Sie bestimmte Abschnitte reduzieren können, müssen Sie die Gruppierung manuell anwenden. Die Gruppierungsfunktion fehlt stark, IMHO. Vielleicht ist Excel nicht das richtige Werkzeug für das, was Sie erreichen möchten.
teylyn vor 10 Jahren
0
1
Mike Honey
Ich würde diese Tabelle in Power Pivot laden und die Hierarchie in Ebenen glätten, z. B. die DAX-Funktionen, z. B. PATHITEM
Wenn Sie Power Pivot nicht verwenden können, würde ich das Quellsystem dazu bringen, die Hierarchie auf ähnliche Weise in Ebenenspalten zu glätten.
Die Präsentation befindet sich in einer Pivot-Tabelle, in der Sie die Knoten erweitern können. Dies passt sich automatisch an die neuen Daten an, ohne dass dabei Formeln verwendet werden.
Der große Nachteil ist, dass Sie die maximale Anzahl von Ebenen festlegen müssen.
Ähnlich wie die Antwort von MadBall73, aber mit einem zusätzlichen Werkzeug in ...
JoeNahmias vor 10 Jahren
0
0
Karmo
Unterhalb der verknüpften Makrogruppen (Auto-Outlines) Zeilen basierend auf der Hierarchiespalte. Wählen Sie einfach die Ebenennummern (formatiert mit Punkt) aus und führen Sie das Makro aus. Funktioniert in einem Bereich und in einer Tabelle. Es werden keine Summe, Anzahl usw. Zeilen hinzugefügt.
Nachdem ich die Quelle für das Makro auf archive.org gefunden hatte, konnte ich diese Antwort zum Laufen bringen und es tat genau das, was ich brauchte. Ich habe die Antwort so editiert, dass sie auf den Gist verweist, den ich dort extrahiert habe. Hoffentlich ist der Antwortlink bald lebendig.
TheXenocide vor 6 Jahren
0
0
Hossein Zarrinzadeh
Ein VBA-Code zum automatischen Gruppieren von Zeilen nach der Nummer in der Hierarchiespalte
For i = 3 To RowLength On Error Resume Next levelNo = Len(Cells(i, WBSColNo)) - Len(Replace(Cells(i, WBSColNo), ".", "")) + 1 Rows(i).OutlineLevel = levelNo Next