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

Excel多列数据按原顺序合并为一列的方法求助(无VBA经验)

多列转单列(保持原列顺序)分步指导

针对你Excel中A:AY列的时间序列数据,以下两种方法完全不需要VBA,适合新手操作,且能严格保证数据顺序:

方法1:Power Query可视化操作(推荐,不会出错)

这是Excel自带的工具,全程点击操作,无需写代码:

  • 选中你要转换的A到AY列所有数据(包括表头,如果有的话)
  • 点击顶部菜单栏的「数据」选项卡,找到「自表格/区域」按钮:
    • 如果弹出「创建表格」窗口,勾选「我的表格有标题」(有表头才勾),点击「确定」进入Power Query编辑器
  • 在编辑器里,点击「转换」选项卡 → 「转置」,把原来的行列互换(此时原列变成行,原行变成列)
  • 继续点击「转换」选项卡 → 「逆透视列」下拉菜单 → 「逆透视所有列」,此时会生成两列:「属性」(原列名)和「值」(原单元格内容)
  • 点击「属性」列的排序按钮(列标题旁边的小箭头),选择「升序」,这样数据就会按A→B→…→AY的列顺序排列
  • 右键点击「属性」列,选择「删除」,只保留「值」列
  • 点击顶部「主页」选项卡 → 「关闭并上载至…」,选择一个空白单元格作为输出位置,点击「确定」,就能得到按原列顺序堆叠的单列数据

方法2:公式法(直接用Excel函数)

如果不想用Power Query,直接用INDEX函数生成单列:

  • 假设你的数据从第1行到第100行(根据实际行数修改),找一个空白列(比如AZ列)
  • 在AZ1单元格输入公式:
    =INDEX($A$1:$AY$100,INT((ROW()-1)/51)+1,MOD(ROW()-1,51)+1)
    • 注意:把$A$1:$AY$100改成你实际的数据区域(比如数据到第200行就改成$A$1:$AY$200);51是A到AY的总列数(A是第1列,AY是第51列,不用改)
  • 输入完公式后,鼠标移到AZ1单元格右下角的小方块(填充柄),按住左键往下拖,直到出现空值或#REF!,此时所有数据就按列顺序转成单列了
  • 要把公式结果变成可复制的静态数据:选中AZ列的所有结果,按Ctrl+C复制,右键选择「粘贴值」即可

补充说明

你之前用的CONCATENATE函数是用来合并多个单元格的文本内容(比如把A1和B1合并成一个单元格),不是用来将多列转成单列的,所以会报错或达不到预期效果,以后别用它做这个操作啦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 22:32:21