Google 表格查询 - 将列数据合并到行

Google Sheets Query - merge column data to rows

我想根据另一列(名称)合并不同行中的数据(名称+ value/s)。请参见下面的示例:

姓名 |值

一个 | ab

一个 |交流

一个 |广告

B |公元前

B | bd

我希望输出像这样(成行并连接在一个单元格中):

一个 ab ac 广告

B bc bd

Google 工作表查询是否可行?

我添加了一个新的 sheet(“Erik 帮助”)。要获得您想要的确切结果:

=ArrayFormula({"Result";IF(A2:A="",,IF(COUNTIFS(A2:A,A2:A,ROW(A2:A),"<="&ROW(A2:A))>1,,VLOOKUP(A2:A&"*",REGEXREPLACE(TRIM(SPLIT(FLATTEN(QUERY(QUERY({A2:B}, "Select MAX(Col2) where Col2 IS NOT NULL GROUP BY Col2 PIVOT Col1"),, 9^9)),"~")),"[,\s]+$",""),1,FALSE)))})

这是一个比我通常可以在此免费论坛上分享的公式更复杂的公式,因此我需要将对公式的理解留给您和其他可能感兴趣的人。

我还留下了第二个公式,它只显示聚合列表,作为给你的“奖励”:

=ArrayFormula({"Aggregated List";REGEXREPLACE(TRIM(SPLIT(FLATTEN(QUERY(QUERY({A2:B}, "Select MAX(Col2) where Col2 IS NOT NULL GROUP BY Col2 PIVOT Col1"),, 9^9)),"~")),"[,\s]+$","")})