在 1 列中列出唯一值,并在另一列中连接相应的值
List unique values in 1 column and concatenate corresponding values in other column
C 列应包含 A 列中的唯一值,而在 D 列中,它应合并 B 列中的相应值,如所附示例所示。
理想情况下,使用带有 QUERY
或 ARRAYFORMULA
的公式(这样就不必拖下公式),因为此列表是自动生成的并且可能很长(超过 10000 行)
我已经创建了一个 google 脚本来执行此操作,但由于性能原因,希望能够使用公式来执行此操作。
在 C1 中,试试这个公式:
=arrayformula(regexreplace({unique(A1:A), trim(transpose(query(if((transpose(unique(A1:A))=A1:A)*len(A1:A),B1:B&",",),,50000)))},",$", ))
这样试试:
=ARRAYFORMULA({SORT(UNIQUE(FILTER(A:A, A:A<>""))),
REGEXREPLACE(SUBSTITUTE(TRIM(TRANSPOSE(QUERY(QUERY(QUERY(
IF(A:A<>"", {A:A, B:B&","}, ),
"select max(Col2) where Col1 !='' group by Col2 pivot Col1"),
"offset 1", 0),,999^99))), ", ", ","), ",$", )})
C 列应包含 A 列中的唯一值,而在 D 列中,它应合并 B 列中的相应值,如所附示例所示。
理想情况下,使用带有 QUERY
或 ARRAYFORMULA
的公式(这样就不必拖下公式),因为此列表是自动生成的并且可能很长(超过 10000 行)
我已经创建了一个 google 脚本来执行此操作,但由于性能原因,希望能够使用公式来执行此操作。
在 C1 中,试试这个公式:
=arrayformula(regexreplace({unique(A1:A), trim(transpose(query(if((transpose(unique(A1:A))=A1:A)*len(A1:A),B1:B&",",),,50000)))},",$", ))
这样试试:
=ARRAYFORMULA({SORT(UNIQUE(FILTER(A:A, A:A<>""))),
REGEXREPLACE(SUBSTITUTE(TRIM(TRANSPOSE(QUERY(QUERY(QUERY(
IF(A:A<>"", {A:A, B:B&","}, ),
"select max(Col2) where Col1 !='' group by Col2 pivot Col1"),
"offset 1", 0),,999^99))), ", ", ","), ",$", )})