求Google Sheets公式:将非空ID-日期数值组合转置为独立行
Google Sheets 宽表转长表(提取非空ID-日期-数值组合)
核心公式(直接生成三列结果)
在目标工作表的第一个空白单元格(比如A2)输入以下公式:
=ARRAYFORMULA( QUERY( { FLATTEN(输入!A2:A), FLATTEN(输入!B1:1), FLATTEN(输入!B2:Z) }, "select Col1, Col2, Col3 where Col3 is not null", 0 ) )
公式说明
FLATTEN(输入!A2:A):将原始表的ID列平铺,每个ID会重复对应日期列的次数FLATTEN(输入!B1:1):将原始表第1行的日期标题平铺,和ID列的重复项一一匹配FLATTEN(输入!B2:Z):将所有数值单元格平铺,与对应位置的ID、日期形成完整组合QUERY(..., "select Col1, Col2, Col3 where Col3 is not null"):筛选出数值非空的行,自动跳过空白数值的组合ARRAYFORMULA:实现公式自动向下填充,无需手动拖拽
调整说明
- 替换公式中的
输入为你实际的原始数据工作表名称 - 如果日期列范围超过Z列,将
输入!B2:Z改为输入!B2:ZZ(或更大的列范围),确保覆盖所有日期字段 - 若原始ID列存在空白行,公式会自动过滤掉对应数值为空的无效组合
内容的提问来源于stack exchange,提问作者Dan Crosby
相关产品推荐
相关产品推荐

