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

Excel中如何将含重复名称的重复数据转换为转置格式?

解决方法

方法1:Excel Power Query(推荐)

操作简单无需复杂公式,适合可视化操作:

  • 选中你的数据区域,点击「数据」选项卡 → 「从表格/区域」(记得勾选「我的表格有标题」)
  • 进入Power Query编辑器后,选中「名称」列,点击「转换」选项卡 → 「透视列」
  • 在弹窗中,「值列」选择「分数」,「高级选项」选择「不要聚合」,点击确定
  • 最后点击「关闭并上载」,即可得到每个名称单独一行、对应分数横向排列的结果

方法2:Excel公式法

适合习惯用公式的场景,分两步:

  1. 提取唯一名称:在空白单元格输入 =UNIQUE(A:A)(Excel 365/2021支持,旧版可改为=INDEX(A:A,MATCH(0,COUNTIF(D$1:D1,A:A),0)),按Ctrl+Shift+Enter后下拉),得到所有不重复的名称列表
  2. 提取对应分数:在第一个名称右侧单元格输入 =TRANSPOSE(FILTER(B:B,A:A=D2))(D2为第一个唯一名称所在单元格),下拉后每个名称的分数会自动横向展开

方法3:Python pandas(适合批量/自动化处理)

如果需要代码批量处理,用pandas可以快速实现:

import pandas as pd

# 读取原始数据(假设数据存为csv,列名是"名称"和"分数")
df = pd.read_csv("原始数据.csv")
# 为每个名称的分数添加序号,用于后续列区分
df["分数序号"] = df.groupby("名称").cumcount() + 1
# 透视转换格式
transformed_df = df.pivot(index="名称", columns="分数序号", values="分数").reset_index()
# 重命名列名,让格式更清晰
transformed_df.columns = ["名称"] + [f"分数{num}" for num in transformed_df.columns[1:]]
# 保存转换后的数据
transformed_df.to_csv("转换后数据.csv", index=False)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 07:42:54