A family of Microsoft spreadsheet software with tools for analyzing, charting, and communicating data.
Hi,
Here is an answer for a similar problem few years ago.
Data in 5 columns (5 levels) col 2-col 6
Results in column 1 (in row 1 are headers)
pic1
result
pic2
vba macro
Sub Indexing()
'### by Rick Rothstein ###
Dim X As Long, Z As Long, LastCol As Long, LastRow As Long
Dim OutStr As String, Arr() As String
Const StartCol As Long = 2
Const StartRow As Long = 2
Const LastUsedCol As Long = 6
LastRow = Cells.Find(What:="*", SearchOrder:=xlRows, _
SearchDirection:=xlPrevious, LookIn:=xlValues).Row
'LastUsedCol = Cells.Find(What:="*", SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious, LookIn:=xlValues).Column
ReDim Arr(1 To LastUsedCol)
For X = StartRow To LastRow
LastCol = Cells(X, Columns.Count).End(xlToLeft).Column
For Z = StartCol To LastUsedCol
If Z > LastCol Then
Arr(Z) = ""
ElseIf Len(Cells(X, Z).Value) Then
Arr(Z) = Val(Arr(Z)) + 1
Else
Arr(Z) = Val(Arr(Z))
End If
Cells(X, StartCol).Offset(, -1).Value = Replace(Trim(Join(Arr)), " ", " .")
Next
Next
End Sub