Previously, I had asked how to improve my dynamic nested list formula based on two levels.
Now, what if I had a third level of sub-subitems? I tried adapting the previously given formulas, but no luck.
For example, if I have a list of items
A | B |
---|---|
1 | Item 1 |
2 | Item 2 |
3 | Item 3 |
A list of subitems
C | D |
---|---|
Subitem 1 | Item 1 |
Subitem 2 | Item 1 |
Subitem 3 | Item 2 |
Subitem 4 | Item 3 |
Subitem 5 | Item 3 |
And a list of sub-subitems
E | F |
---|---|
Sub-subitem a | Subitem 1 |
Sub-subitem b | Subitem 1 |
Sub-subitem c | Subitem 3 |
Sub-subitem d | Subitem 3 |
Sub-subitem e | Subitem 5 |
My result should be:
G |
---|
Item 1 |
Subitem 1 |
Sub-subitem a |
Sub-subitem b |
Subitem 2 |
Item 2 |
Subitem 3 |
Sub-subitem c |
Sub-subitem d |
Item 3 |
Subitem 4 |
Subitem 5 |
Sub-subitem e |
You can use REDUCE with VSTACK to apply this kind of recursive logic. TOCOL
=TOCOL(
REDUCE(TOCOL(,1),TOCOL(B2:B,1),LAMBDA(a,item,VSTACK(a,item,
REDUCE(TOCOL(,1),IFNA(FILTER(C2:C,D2:D=item)),LAMBDA(b,subitem,
VSTACK(b,subitem,IFNA(FILTER(E2:E,F2:F=subitem))))))))
,1)