You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将数据表列中的取值转置为新的列头?

同分组多值合并到单单元格实现方案

Excel

  • 适用Excel 365/2021及以上版本,使用TEXTJOIN数组公式:
    假设原数据A列为分组字段,B列为待合并值字段,目标首个分组值位于D2,对应合并单元格输入:
    =TEXTJOIN(",",TRUE,IF(A:A=D2,B:B,""))
    旧版Excel输入后按Ctrl+Shift+Enter启用数组运算,365版本直接回车即可。
  • 旧版Excel可通过辅助列+VLOOKUP递归拼接,或使用VBA自定义函数实现。

Python(Pandas)

import pandas as pd
# 读取数据
df = pd.read_excel("源文件路径.xlsx")
# 分组聚合
res = df.groupby("分组列名", as_index=False)["待合并列名"].agg(lambda x: ",".join(x.astype(str)))
# 导出结果
res.to_excel("输出文件路径.xlsx", index=False)

数据库SQL

  • MySQL:
    SELECT 分组列, GROUP_CONCAT(待合并列 SEPARATOR ',') AS 合并后列 FROM 表名 GROUP BY 分组列;
    
  • PostgreSQL:
    SELECT 分组列, STRING_AGG(待合并列::TEXT, ',') AS 合并后列 FROM 表名 GROUP BY 分组列;
    
  • Hive/Spark SQL:
    SELECT 分组列, CONCAT_WS(',', COLLECT_LIST(待合并列)) AS 合并后列 FROM 表名 GROUP BY 分组列;
    

内容的提问来源于stack exchange,提问作者Andres Green

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.08 14:24:02