拆分文字后再分组去重
一个不规则的分类明细表,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/
英文版