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]+$","")})
我想根据另一列(名称)合并不同行中的数据(名称+ 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]+$","")})