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

Excel如何将A:C列每行内容复制到可用列并横向合并为单行

解决Excel多行数据横向合并为单行的问题

以下是几种实用的处理方法,按需选择即可:

方法1:Power Query(可视化操作,适合新手)

  • 选中A:C列的所有数据区域,点击顶部「数据」选项卡 → 「从表格/区域」,确认数据范围(无表头就取消「我的表格有标题」勾选)
  • 进入Power Query编辑器后,选中A、B、C三列,点击「转换」选项卡 → 「逆透视列」→ 「逆透视其他列」
  • 右键删除生成的「属性」列;接着选中「值」列,点击「转换」→ 「透视列」,弹窗里「值列」选「值」,高级选项选「不要聚合」
  • 点击「关闭并上载」,新工作表里就会生成每行原始数据合并后的单行横向结果

方法2:TEXTJOIN函数(快速公式法)

假设数据在A1:C10区域,要在D列输出合并结果:

  • 在D1单元格输入公式:=TEXTJOIN(", ", TRUE, A1:C1)
    • ", "是自定义分隔符,可换成空格、分号等
    • TRUE表示忽略空单元格,不想忽略就改成FALSE
  • 下拉填充公式到所有行,快速得到每行合并后的单行内容

方法3:VBA宏(批量自动化处理)

  • 按Alt+F11打开VBA编辑器,右键当前工作簿 → 插入 → 模块
  • 粘贴以下代码:
Sub MergeRowsToSingleRow()
    Dim ws As Worksheet
    Dim lastRow As Long, i As Long
    Dim outputCol As Integer
    
    Set ws = ActiveSheet
    lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
    outputCol = 4 '从D列开始输出,可自行修改列号
    
    For i = 1 To lastRow
        '合并A:C列内容,分隔符为", ",可按需修改
        ws.Cells(i, outputCol).Value = Join(Array(ws.Cells(i, "A").Value, ws.Cells(i, "B").Value, ws.Cells(i, "C").Value), ", ")
    Next i
End Sub
  • 按F5运行宏,完成后每行A:C的内容就会合并到指定列的单行中

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 05:32:48