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

如何在Excel中按3行一组循环提取多列数据生成新列?

Excel循环提取多列数据解决方案

方案1:公式法(中小数据量快速实现)

假设原数据列A为Apples、B为Bananas、C为Grapes,数据从第2行开始(A2:C10),在D2单元格输入以下公式,下拉填充即可:

=INDEX($A:$C, INT((ROW()-2)/3)+1, MOD(INT((ROW()-2)/3),3)+1)

公式适配调整(对应100列+1000行场景)

如果实际有N列(比如100列),每组提取M行(比如1000行),公式修改为:

=INDEX($A:$CV, INT((ROW()-2)/M)+1, MOD(INT((ROW()-2)/M),N)+1)
  • $A:$CV:替换为你实际的所有数据列范围(100列对应A到CV列)
  • M:替换为每组提取的行数(比如1000)
  • N:替换为总列数(比如100)

方案2:Power Query(大数据量高效处理)

针对100列、每行1000条的场景,Power Query比公式更稳定高效,步骤如下:

  1. 选中所有数据区域(包含表头),点击「数据」选项卡→「从表格/区域」,勾选「我的表格有标题」进入编辑器。
  2. 切换到「转换」选项卡,点击「逆透视列」→「逆透视其他列」,此时数据会转为「属性」(原列名)和「值」(对应数据)两列。
  3. 添加自定义列:点击「添加列」→「自定义列」,输入公式(把3换成实际每组行数,比如1000):
    =Number.RoundDown(([行]-2)/3)+1
    
    命名该列为「组号」,用于标记每组数据的归属。
  4. 排序数据:先选中「组号」列,点击「开始」→「升序排序」;再选中「属性」列,按你需要的循环顺序(比如Apples→Bananas→Grapes)自定义排序。
  5. 清理结果:删除「属性」和「组号」列,只保留「值」列,点击「关闭并上载」,新工作表会生成按要求循环排列的数据。

内容的提问来源于stack exchange,提问作者Francisco Augusto Varela Aguir

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 12:01:04