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 用逗号合并成员。
免费下载试用