我需要一个基于项目和子项目的动态嵌套列表。
例如,如果我有一个项目列表
A | B |
---|---|
1 | 第 1 项 |
2 | 第 2 项 |
3 | 第 3 项 |
以及子项目列表
C | D |
---|---|
子项目 1 | 第 1 项 |
子项目 2 | 第 1 项 |
子项目 3 | 第 2 项 |
子项目 4 | 第 3 项 |
子项目 5 | 第 3 项 |
我的结果应该是:
E |
---|
第 1 项 |
子项目 1 |
子项目 2 |
第 2 项 |
子项目 3 |
第 3 项 |
子项目 4 |
子项目 5 |
到目前为止,我能想到的唯一想法是
=TRANSPOSE(
SPLIT(JOIN(";",
MAP(
UNIQUE(FILTER($B2:$B,$B2:$B<>"")), LAMBDA(x, FLATTEN(x & ";" & JOIN(";",IFERROR(FILTER($C2:$C,$D2:$D=x),)))))
),";")
)
但我想知道是否有更好的方法来做到这一点。有什么想法吗?
您可以使用
REDUCE
:
=REDUCE(TOCOL(,1),UNIQUE(TOCOL(D2:D,1)),
LAMBDA(a,c,{a;c;FILTER(C2:C,D2:D=c)}))