分组并合并其它列的非空值
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