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

如何在Google Sheet中实现多列值转对应多行格式?

Google Sheets 表格逆透视解决方案

你需要的是**逆透视(Unpivot)**操作,把多列的“值”转换成对应名称的多行数据,用以下函数组合就能实现:

假设原数据位于A1:D4(A1是“名称”表头,B1-D1是“值1-值3”,A2-D4是数据行),在空白单元格(比如F1)输入以下公式:

={{"名称", "值"}; ARRAYFORMULA(QUERY(SPLIT(FLATTEN(A2:A4&"|"&B2:D4), "|"), "where Col2 is not null", 0))}

公式拆解:

  • A2:A4&"|"&B2:D4:将每行的名称与对应列的值用竖线拼接,生成包含所有名称-值组合的二维数组(包括空值组合)
  • FLATTEN:把二维数组转为一维,所有组合排成一列
  • SPLIT(..., "|"):将每个拼接后的字符串按竖线拆分,分成“名称”和“值”两列
  • QUERY(..., "where Col2 is not null", 0):过滤掉值为空的行,0表示不包含QUERY自带的表头
  • {{"名称", "值"}; ...}:手动添加结果的表头,和处理后的数据合并成完整表格

如果不需要自动生成表头,也可以单独输入表头后,在F2单元格用简化版公式:

=ARRAYFORMULA(QUERY(SPLIT(FLATTEN(A2:A4&"|"&B2:D4), "|"), "where Col2 is not null", 0))

单独用Transpose无法满足需求,因为它只负责转置行列,没法将同一名称的多值拆分为多行,而上面的方法正是专门解决这类逆透视场景的。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 22:07:46