分组并合并其它列的非空值

Excel1列是分类,第2-42列是平行的多个数据项列,下表用部分列示例。数据有Xnull两种情况,同一个分类的同一列数据偶尔有重复。


A B C D E
1 ID Criteria1 Criteria2 Criteria3 Criteria4
2 FirstValue X
3 FirstValue X
4 FirstValue X
5 FirstValue X
6 SecondValue X
7 SecondValue X
8 SecondValue X
9 ThirdValue X
10 ThirdValue X
11 ThirdValue X

要求按分组合并每列的数据,如果有重复数据X,则只显示一个。


A B C D E
13 ID Criteria1 Criteria2 Criteria3 Criteria4
14 FirstValue X X X X
15 SecondValue X X X
16 ThirdValue X X

使用 SPL XLL

=spl("=?.group(~1).(g=~,(r1=~1).(g.(~(r1.#)).ifn()))",A2:E11)

Picture1png

函数 group 用于分组并处理每组ifn返回序列中第一个非空成员,每个成员都是空则返回空。符号~表示当前组,~1表示当前的第 1行,# 表示当前成员的序号

来源:https://www.reddit.com/r/excel/comments/1clgby6/merging_rows_based_on_duplicates_in_one_column/