/ / Vytvorte hierarchiu na základe preddefinovaných úrovní v Exceli (Formula alebo VBA) - excel, vba, vzorec, hierarchia

Vytvorte hierarchiu založenú na vopred definovaných úrovniach v programe Excel (vzorec alebo VBA) - excel, vba, vzorec, hierarchia

Nižšie je moja aktuálna tabuľka programu Excel:

tu zadajte popis obrázku

Chcem automaticky generovať tretí stĺpecako hierarchický pohľad na všetky činnosti. Snažil som sa riešiť túto výzvu vzorcami, ale nie som si istý, či by to bol najlepší spôsob, ako to urobiť.

Má niekto už stál a vyriešiť túto požiadavku v programe Excel? Akékoľvek rady / návrhy, ktoré ma sprevádzajú?

Ďakujeme a pozdravujeme!

odpovede:

0 pre odpoveď č. 1

Toto makro môžete prilepiť do Kód modulu pracovného hárka a spustite ho odtiaľ:

Sub CalculateHierarchy()

Dim rLevels As Range, rLevel As Range
Dim level As Integer, maxLevels As Integer, cur As Integer, i As Integer
Dim h As String, counts() As Integer

Set rLevels = Range("A2:A" & Range("A1").End(xlDown).Row)
maxLevels = WorksheetFunction.Max(rLevels)
ReDim counts(1 To maxLevels)

cur = 1
For Each rLevel In rLevels
level = rLevel.Value
If level > cur + 1 Then
rLevel.Activate
MsgBox "error at row " & rLevel.Row & " level increase by more than 1"
Exit Sub
End If

h = ""
counts(level) = counts(level) + 1
For i = 1 To level
h = h & "." & counts(i)
Next
h = Mid(h, 2)
For i = level + 1 To UBound(counts)
counts(i) = 0
Next
rLevel.Offset(, 2).Value = h
cur = level
Next
rLevel.Offset(0, 2).Interior.ColorIndex = 6
End Sub