Google Sheets:求单个动态公式生成月年维度销售汇总表
动态生成Google Sheets销售汇总表方案
方法1:一键生成完整动态表(QUERY透视)
直接在汇总表的起始单元格(如B3)输入以下公式,即可自动生成带月份行、年份列及对应总和的动态表,新增数据或年份时会自动更新:
=QUERY('2. File'!A:F, "SELECT FORMAT(A,'MMM'), YEAR(A), SUM(F) WHERE A IS NOT NULL GROUP BY FORMAT(A,'MMM'), YEAR(A) PIVOT YEAR(A)", 1)
公式说明:
'2. File'!A:F:指定原始数据所在范围(A列为购买日期,F列为价格)FORMAT(A,'MMM'):将日期转换为三字母月份缩写(Jan/Feb等)YEAR(A):提取日期中的年份SUM(F):计算对应年月的价格总和PIVOT YEAR(A):将年份字段转换为列,实现透视效果- 最后参数
1:表示原始数据第一行为表头
方法2:固定月份顺序的动态表
如果需要强制按Jan-Dec的顺序显示月份(即使部分月份无数据),可按以下步骤操作:
- 固定月份行:在
B4:B15手动输入Jan到Dec的月份缩写 - 动态年份列:在
C3输入公式生成唯一年份列表(自动新增年份):=UNIQUE(FILTER(YEAR('2. File'!A:A), '2. File'!A:A<>"")) - 动态计算总和:在
C4输入公式,自动填充整个数据区域:=BYROW(B4:B15, LAMBDA(month, BYCOL(C3:3, LAMBDA(year, SUMIFS('2. File'!F:F, TEXT('2. File'!A:A, "MMM"), month, YEAR('2. File'!A:A), year)))))
注意事项
- 确保原始数据的「Purchase Date」列是标准日期格式,而非文本格式,否则公式无法正确提取年月
- 若原始数据行数不固定,可将范围
'2. File'!A:F替换为动态范围'2. File'!A:INDEX('2. File'!F:F, COUNTA('2. File'!A:A)),避免空行干扰计算
内容的提问来源于stack exchange,提问作者HSHO
相关产品推荐
相关产品推荐

