分组并合并其它列的非空值
Excel第1列是分类,第2-42列是平行的多个数据项列,下表用部分列示例。数据有X或null两种情况,同一个分类的同一列数据偶尔有重复。
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)
函数 group 用于分组并处理每组,ifn返回序列中第一个非空成员,每个成员都是空则返回空。符号~表示当前组,~1表示当前组的第 1行,# 表示当前成员的序号。
来源:https://www.reddit.com/r/excel/comments/1clgby6/merging_rows_based_on_duplicates_in_one_column/
英文版 https://c.scudata.com/article/1723189214122