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

如何用Google Sheets QUERY公式将月度列转换为月份-数值列结构

Google Sheets 宽表转窄表(逆透视)公式实现方案

当然可以用公式实现这种仅转置月度列的逆透视操作,无需依赖数据透视表,直接用ARRAYFORMULA+FLATTEN+SPLIT+QUERY组合就能搞定,实时同步原数据更新:

核心公式

假设你的数据集在A1:O区域(第一行是表头),直接在空白单元格输入以下公式:

=ARRAYFORMULA(QUERY(SPLIT(FLATTEN(
  A2:A&"|"&B2:B&"|"&C2:C&"|"&D1:O1&"|"&D2:O), "|"), 
  "select Col1,Col2,Col3,Col4,Col5 where Col5 is not null label Col1 'CostCentre', Col2 'LedgerAccount', Col3 'SpendCategory', Col4 'Month', Col5 'Value'"))

公式拆解

  • FLATTEN:把前3列的每条记录,分别和对应月度表头、月度数值拼接成字符串(用|做分隔符),然后把所有拼接后的内容扁平化变成单列
  • SPLIT:把扁平化后的字符串按|拆分成5列,对应CostCentre/LedgerAccount/SpendCategory/Month/Value
  • QUERY:筛选掉数值为空的行,同时给每一列重命名成你需要的表头
  • ARRAYFORMULA:让公式自动应用到整组数据,不用下拉填充

注意事项

  • 如果你的数据里本身包含|字符,把公式里的|换成其他不会冲突的分隔符(比如^或~)
  • 1万条记录的规模下,这个公式的运行效率完全够用,且会实时同步原数据的修改
  • 确保D1:O1是正确的月度名称(Sep到Aug),公式会直接复用这些表头作为Month列的值

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 16:23:22