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

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/