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

如何自动将Google Spreadsheet宽表转换为规范表?

在Google Sheets中实现指定列转行并复制对应字段

你需要将表格中的EL、FL、MAT、SONSTIGES列转换为行,同时保留并复制对应行的MONTH、MONTH_NAME、IST、BUDGET字段,以下是两种高效的实现方案:

方案一:数组公式(自动更新,适配动态数据)

假设原始数据位于A1:H(表头在第1行),在空白单元格(如J1)输入以下公式即可生成目标表格:

=VSTACK(
  {"MONTH","MONTH_NAME","IST","BUDGET","BUDGET_CLUSTER","CLUSTER_AMOUNT"},
  LET(
    source, A2:H,
    fixed_cols, CHOOSECOLS(source, 1,2,3,4),
    cluster_cols, CHOOSECOLS(source,5,6,7,8),
    cluster_names, {"EL","FL","MAT","SONSTIGES"},
    repeat_fixed, INDEX(FLATTEN(MAKEARRAY(ROWS(fixed_cols), ROWS(cluster_names), LAMBDA(r,c, INDEX(fixed_cols,r,))))),
    repeat_names, INDEX(FLATTEN(TRANSPOSE(cluster_names))),
    repeat_values, INDEX(FLATTEN(cluster_cols)),
    HSTACK(repeat_fixed, repeat_names, repeat_values)
  )
)

公式说明:

  • source:指定原始数据范围(跳过表头行)
  • fixed_cols:提取需要保留的固定字段列
  • cluster_cols:提取需要转成行的目标列
  • repeat_fixed:将固定字段按聚类列数量重复,确保每个原始行对应4条结果
  • repeat_names:平铺聚类列名称,作为BUDGET_CLUSTER的值
  • repeat_values:平铺聚类列的数值,作为CLUSTER_AMOUNT的值
  • VSTACK+HSTACK:合并表头与结果数据,生成完整表格

方案二:内置逆透视功能(手动操作,适合静态数据)

如果不需要自动更新,可直接使用Google Sheets的内置功能快速转换:

  1. 选中原始数据的全部范围(包含表头)
  2. 点击菜单栏「数据」→「数据透视表和图表」→「逆透视列」
  3. 在弹窗中选择MONTH、MONTH_NAME、IST、BUDGET,点击「保留」
  4. 剩余的EL、FL、MAT、SONSTIGES会自动被标记为待逆透视列,点击「确定」
  5. 将生成的属性列重命名为BUDGET_CLUSTER,值列重命名为CLUSTER_AMOUNT即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 07:27:04