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

如何在Google Sheets中扁平化含动态行的层级表格?

解决方法

首先需要补全原数据中的Ad_id列空缺值——原数据里只有每个广告属性组的第一行有ID,后续行是空的,这是导致你之前公式失效的核心原因。

步骤1:补全Ad_id列

在空白列(比如D列)输入以下公式,自动填充所有空缺的Ad_id:

=ARRAYFORMULA(IF(A:A="",LOOKUP(ROW(A:A),ROW(A:A)*(A:A<>""),A:A),A:A))

逻辑:如果A列单元格为空,就向上查找最近的非空Ad_id填充;如果本身非空则保留原值。

步骤2:生成宽格式数据

有两种实现方式:

方式一:用QUERY一键生成(推荐)

在新区域输入以下公式,会自动生成包含所有Ad_id、属性表头和对应值的完整宽表,缺失值显示为null,可手动替换成NA:

=QUERY(FILTER({D:D, B:C}, D:D<>""), "select Col1, max(Col3) where Col1 is not null group by Col1 pivot Col2")
  • {D:D, B:C}:将补全后的Ad_id列、原属性列和值列合并为新数组
  • pivot Col2:按属性列转置成表头
  • max(Col3):因每个Ad_id对应单个属性仅一个值,用max/min均可正确提取

方式二:结合你已有的Ad_id列和表头提取值

若已手动生成Ad_id列(比如F列)和属性表头(比如G1:K1),在G2单元格输入以下公式,向右向下拖拽(或用ARRAYFORMULA批量填充):

=IFERROR(INDEX(C:C, MATCH(1, (D:D=F2)*(B:B=G$1), 0)), "NA")

用IFERROR将找不到的值替换为NA,这里的D列是补全后的Ad_id列,即可正确匹配每个Ad_id对应的属性值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 06:30:37