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

在Google Sheets中如何用公式将带A列分组的列数据转为多行?

在Google Sheets中按A列分组将列状数据转换为多行的公式

方法1:FLATTEN+SPLIT组合(兼容旧版Google Sheets)

假设分组列为A列,需拆分的目标数据在B到D列,可使用以下公式:

=ARRAYFORMULA(QUERY(SPLIT(FLATTEN(A:A&"|"&B:D), "|"), "where Col2 is not null"))

公式说明:

  • FLATTEN(A:A&"|"&B:D):将每个分组(A列值)与对应行的所有目标数据(B-D列)用|拼接,再把所有结果平铺为单列
  • SPLIT(..., "|"):把平铺后的每行内容按|拆分为两列,分别对应分组和数据
  • QUERY(..., "where Col2 is not null"):过滤掉数据列为空的无效行

方法2:TOCOL+HSTACK组合(新版Google Sheets推荐)

若你的Google Sheets支持TOCOL和HSTACK函数,可使用更简洁的写法:

=HSTACK(TOCOL(A:A, 1), TOCOL(B:D, 1))

公式说明:

  • TOCOL(A:A, 1):将A列的分组值按对应行的非空数据列数重复,自动忽略空行
  • TOCOL(B:D, 1):把B-D列的所有非空数据平铺为单列
  • HSTACK:将分组列和数据列横向合并,直接得到分组对应多行的结果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 21:52:35