拆分文字后再分组去重
一个不规则的分类明细表,A、B列是分类,且有重复,C列是"逗号+空格"分隔的字符串组成的明细,且有重复。
A |
B |
C |
|
1 |
Project # |
Project Step |
Participant(s) |
2 |
100 |
101 |
John J |
3 |
100 |
102 |
Dave M, Phil X |
4 |
100 |
102 |
Dave M, Lisa P, John J |
5 |
100 |
103 |
Phil X, Lisa P |
6 |
100 |
104 |
Dave M |
7 |
200 |
201 |
John J, Lisa P, Alice T |
8 |
200 |
201 |
Lisa P, Alice T |
9 |
200 |
202 |
Dave M, Lisa P, John J |
10 |
200 |
203 |
Phil X, Lisa P |
11 |
200 |
204 |
Dave M, Phil X |
12 |
200 |
204 |
Dave M, Lisa P, John J |
要求拆分各组明细,按分类分组,对组内明细去重并用"逗号+空格"合并。
E |
F |
G |
|
1 |
Project # |
Project Step |
List Participant(s) |
2 |
100 |
101 |
John J |
3 |
100 |
102 |
Dave M, John J, Lisa P, Phil X |
4 |
100 |
103 |
Lisa P, Phil X |
5 |
100 |
104 |
Dave M |
6 |
200 |
201 |
Alice T, John J, Lisa P |
7 |
200 |
202 |
Dave M, John J, Lisa P |
8 |
200 |
203 |
Lisa P, Phil X |
9 |
200 |
204 |
Dave M, John J, Lisa P, Phil X |
使用 SPL XLL
=spl("=E@b(?.group(~1,~2;~.conj(~3.split@ct()).id().concat("","")))",A2:C12)
函数 group 分组并处理组内数据,~1 表示当前成员的第 1 个子成员。split@ct 按逗号拆分并 trim。id 去除重复。E@b 将表格转为无标题的序列。
https://www.reddit.com/r/excel/comments/1cu1ik3/generate_a_duplicatefree_list_of_names_separated/
英文版