Excel 按组拆分每行文字后求交集

A列是分组列,对应B列里多行逗号分隔的文字:


A

B

1

1

4,9,3,1,7

2

1

7,5,2,9,4,

3

1

8,5,7,9

4

1

4,1,3,8,9,7

5

2

4,8,2

6

2

1,2,7,8

7

2

3,1,8,6

8

2

6,3,4,9,2,5,8

9

2

0,4,8,6,9

10

3

8,3,4,7,2

11

3

2,4,6,9,3

12

4

1,8,2,5

要求按组拆分每行的文字,再对组内各行求交集,用逗号合并结果,填入每组的第1行里。如下D列:


A

B

C

D

1

1

4,9,3,1,7


9,7

2

1

7,5,2,9,4,



3

1

8,5,7,9



4

1

4,1,3,8,9,7



5

2

4,8,2


8

6

2

1,2,7,8



7

2

3,1,8,6



8

2

6,3,4,9,2,5,8



9

2

0,4,8,6,9



10

3

8,3,4,7,2


3,4,2

11

3

2,4,6,9,3



12

4

1,8,2,5


1,8,2,5

使用 SPL XLL,输入公式:

=spl("=?.group(~(1)).conj([~.isect(~(2).split@c()).concat@c()].pad(null,~.len()))",A1:B12)

Picture1png

group(~(1))按第 1 列分组,split 拆分各组的第 2 列,isect 求交集,用 concat 拼出串,pad 这补齐空白与 A 列对齐。

https://stackoverflow.com/questions/78400799/how-to-apply-a-formula-to-only-certain-functions