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)

Picture1png

函数 group 执行分组并处理每组数据,~2 表示当前成员的第 2 个子成员,$[] 是字符串标志,# 是当前成员的序号,#1 是表格的第 1 列,concat@c 用逗号合并成员。

来源:https://stackoverflow.com/questions/78132082/returns-a-collection-of-values-for-each-row-with-two-or-more-conditions-into-one