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

Excel长表转宽表:指定列转行格式转换技术求助

Excel长表转宽表解决方案(Group列转表头,匹配DBA值)

问题背景

现有2000+行Excel数据,结构如下:

GroupLegal NameDBA
A2023 LTD, Inc2023 LTD Inc
B2023 LTD, Inc2023 LTD
C2023 LTD, Inc2023 LTD Inc.
AXYZ EnterprisesXYZ Enterprises Inc.
AAerotec, LLCAerotec
BAerotec, LLCAerotec LLC.
CAerotec, LLCAero

需转换为以下宽表格式:

Legal NameABC
2023 LTD, Inc2023 LTD Inc2023 LTD2023 LTD Inc.
XYZ EnterprisesXYZ Enterprises Inc.
Aerotec, LLCAerotecAerotec LLC.Aero

尝试过数据透视表值转文本、Power Query逆透视及转置操作未达预期,以下是两种可行方案:


方案一:Power Query 透视转换法(正确步骤)

  • 选中原始数据区域,点击「数据」选项卡 → 「从表格/区域」(Excel 2016及以后版本),确认勾选「我的表格有标题」,进入Power Query编辑器
  • 在编辑器中,选中Group列和DBA列,点击「转换」选项卡 → 「透视列」
  • 在弹出的设置窗口中:
    • 值列选择「DBA」
    • 高级选项选择「不要聚合」(此为关键设置,之前误选聚合会导致结果不符合预期)
  • 点击确定后即可生成目标宽表,最后点击「关闭并上载」将数据导出至Excel

方案二:公式匹配法

无需工具,直接用Excel公式实现:

  1. 提取唯一Legal Name值:复制原始表的Legal Name列,粘贴到新区域,通过「数据」→「删除重复值」保留唯一值作为行标题
  2. 在对应Group A的单元格(如B2)输入公式:
    =XLOOKUP(1,($A2=原表!$B:$B)*(原表!$A:$A="A"),原表!$C:$C,"")
    
    (旧版Excel使用数组公式:=INDEX(原表!$C:$C,MATCH(1,($A2=原表!$B:$B)*(原表!$A:$A="A"),0)),输入后按Ctrl+Shift+Enter确认)
  3. 向右拖动填充公式至Group B、Group C列,将公式中的"A"分别替换为"B"、"C"
  4. 向下拖动填充所有行,空值自动显示为空白

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 01:10:15