EXCEL 分组后找出满足条件的行拼接起来
Excel某表格有四列,其中第2列是分组列。
A |
B |
C |
D |
|
1 |
1 |
a |
1 |
yet |
2 |
2 |
a |
2 |
done |
3 |
3 |
a |
3 |
yet |
4 |
4 |
b |
1 |
done |
5 |
5 |
b |
2 |
done |
6 |
6 |
b |
3 |
done |
7 |
7 |
b |
4 |
yet |
8 |
8 |
b |
5 |
done |
现在要按第2列分组,找到每组第4列等于"done"的行,将这些行的第3列用逗号拼起来,再与分组名、行号组成新的表格。
F |
G |
H |
|
1 |
1 |
a |
2 |
2 |
2 |
b |
1,2,3 |
使用 SPL XLL
=spl("=?.select(~4==$[done]).groups(~2;concat@c(~3)).(#|#1|#2)",A1:D7)
函数 group 执行分组并处理每组数据,~2 表示当前成员的第 2 个子成员,$[] 是字符串标志,# 是当前成员的序号,#1 是表格的第 1 列,concat@c 用逗号合并成员。
英文版 https://c.scudata.com/article/1724137392925