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

如何将多组单元格追加到行底部并匹配对应分类列

宽表转窄表(动态更新版)解决方案

针对你的需求——将包含分类列+多组「是/否+数量」列的宽表,转换为分类重复、每组数据单独成行的窄表,且支持后续修改和新增内容,以下是几种实用方法:

方法一:Excel Power Query(推荐,支持一键刷新)

这是最适配动态表格的方案,修改原表或新增组列后,只需刷新即可更新结果:

  • 选中原表格任意单元格,点击「数据」→「从表格/区域」(确保表格有表头)
  • 在Power Query编辑器中,选中所有是/否列和数量列(按住Ctrl多选),点击「转换」→「逆透视列」→「逆透视其他列」
  • 此时生成「属性」和「值」列,选中「属性」列,点击「转换」→「拆分列」→「按分隔符」,按列名中的分隔符(比如下划线)拆分,选择「最右侧的分隔符」,拆分出组标识和数据类型(是/否/数量)
  • 选中「组标识」列,点击「转换」→「透视列」,值列选「值」,列值选「类型」,即可得到每行对应一组的「是/否」和「数量」列
  • 点击「关闭并上载」导出结果到新工作表,后续更新原表后右键结果表格→「刷新」即可同步。

方法二:Excel 数组公式法(适合简单场景)

如果使用Excel 365/2021,可直接用数组公式实现,无需Power Query:
假设原数据在A1:E10,A列为分类,B-C、D-E分别为两组数据:

  • 新表分类列(G2单元格):
    =INDEX($A$2:$A$10,INT((ROW()-2)/2)+1)
    
  • 新表「是/否」列(H2单元格):
    =INDEX($B$1:$E$10,INT((ROW()-2)/2)+1,MOD(ROW()-2,2)*2+1)
    
  • 新表「数量」列(I2单元格):
    =INDEX($B$1:$E$10,INT((ROW()-2)/2)+1,MOD(ROW()-2,2)*2+2)
    
    下拉三个公式至空值即可,新增组列时扩展公式引用范围(如$B$1:$E$10改为$B$1:$G$10)后重新下拉。

方法三:Google Sheets 快速转换法

使用FLATTEN函数快速拆分数据:

  • 分类列(A2单元格):
    =INDEX(原表!A:A,INT((ROW(A2)-2)/(COUNTA(原表!B1:1)/2))+2)
    
  • 「是/否」列(B2单元格):
    =FLATTEN(原表!B2:B10,原表!D2:D10,原表!F2:F10...)
    
  • 「数量」列(C2单元格):
    =FLATTEN(原表!C2:C10,原表!E2:E10,原表!G2:G10...)
    
    新增组列时,在FLATTEN中添加对应列即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 22:13:08