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

如何在Google Sheets中用公式转置指定列并重复前4列数据

实现前4列重复、其余列堆叠的表格转换

针对你需要将表格前4列重复显示,其余列数据堆叠的需求,在Google Sheets中可以用以下高效公式实现:

灵活适配版公式(支持任意数量堆叠列)

=LET(
    base, A2:D,
    data, E2:Z,
    headers, {"列1","列2","列3","列4","堆叠列"},
    stack, BYCOL(data, LAMBDA(col, HSTACK(base, col))),
    VSTACK(headers, FLATTEN(stack))
)

公式说明:

  • base:替换为你表格中前4列的实际数据区域(示例从第2行开始,跳过表头)
  • data:替换为需要堆叠的其余列的实际数据区域
  • headers:自定义结果表格的表头名称,可根据你的实际列名修改
  • 公式会自动遍历每一列堆叠数据,将前4列与该列横向拼接后压平,最终生成符合要求的结构

兼容旧版表格的手动列写法

如果你的Google Sheets版本不支持LET或BYCOL函数,可以用以下写法(需手动列出所有要堆叠的列):

=ARRAYFORMULA(SPLIT(QUERY({
    ARRAYFORMULA(A2:A&"|"&B2:B&"|"&C2:C&"|"&D2:D), E2:E;
    ARRAYFORMULA(A2:A&"|"&B2:B&"|"&C2:C&"|"&D2:D), F2:F;
    ARRAYFORMULA(A2:A&"|"&B2:B&"|"&C2:C&"|"&D2:D), G2:G
}, "select Col1, Col2 where Col2 is not null", 0), "|"))

使用提示:

  • 按实际需要添加更多行(比如ARRAYFORMULA(...) , H2:H;)来包含所有要堆叠的列
  • "|"是分隔符,只要你的数据中不包含这个字符即可正常使用

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 02:33:25