如何用单公式在Google Sheet生成按日期与排名的矩阵报表
Google Sheets 单公式生成动态报表矩阵方案
核心公式(输入到E2单元格即可自动扩展)
=ARRAYFORMULA({ {"日期", UNIQUE(FILTER(B2:B, B2:B<>""))}; QUERY( {A2:A, B2:B, C2:C}, "select Col1, max(Col3) where Col1 is not null group by Col1 pivot Col2", 1 ) })
公式拆解说明
- 动态列表头:
UNIQUE(FILTER(B2:B, B2:B<>""))自动提取B列中不重复的有效类别,作为报表的列标签,新增类别时会自动扩展列数 - 交叉表构建:
QUERY()函数通过pivot关键字实现矩阵转换——按A列日期分组,以B列类别为列维度,聚合C列的排名/数值(这里用max(Col3)是因为每日每个类别对应唯一值,若需统计可替换为sum/avg等) - 整体拼接:外层用
ARRAYFORMULA()结合数组语法{},将自定义的"日期"表头、动态列表头与QUERY生成的数据表合并为完整报表,一次输入自动填充所有行和列
注意事项
- 若原始数据存在空白行,
FILTER(B2:B, B2:B<>"")会自动过滤,避免表头出现空值 - 新增数据后报表会实时更新,无需手动维护公式或复制单元格
- 如果C列是需要计算的指标,可根据实际需求替换
max(Col3)为对应聚合函数
内容的提问来源于stack exchange,提问作者S Suen
相关产品推荐
相关产品推荐

