在 1 列中列出唯一值,并在另一列中连接相应的值

List unique values in 1 column and concatenate corresponding values in other column

C 列应包含 A 列中的唯一值,而在 D 列中,它应合并 B 列中的相应值,如所附示例所示。

理想情况下,使用带有 QUERYARRAYFORMULA 的公式(这样就不必拖下公式),因为此列表是自动生成的并且可能很长(超过 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))), ", ", ","), ",$", )})