如何使用Google Spreadsheet的QUERY函数跨表按年月筛选求和金额
Google Sheets 按指定年月汇总客户金额方案
原公式错误原因
- SELECT 子句中包含了无需返回的日期列A,和你仅输出总金额的需求不符
- WHERE 条件中的
X为无效占位符,未替换为实际存储日期的A列 - QUERY 内置
month()函数返回值范围为0~11(0对应1月,11对应12月),直接匹配9月会实际统计10月的数据,且未限制年份,会混入其他年份同月份的记录
可用公式
如果需要硬编码统计2021年9月的总金额,直接使用以下公式即可,输出结果仅为纯数值的总金额:
=QUERY('CustomerData'!A:B, "select SUM(B) WHERE year(A)=2021 AND month(A)=8 LABEL SUM(B) ''", 1)
灵活查询优化方案
如果需要经常变更查询月份,可在第二张表的任意空白单元格(例如A1)输入要查询的年月(格式如2021-9),使用动态公式自动匹配:
=QUERY('CustomerData'!A:B, "select SUM(B) WHERE year(A)="&YEAR(A1)&" AND month(A)="&MONTH(A1)-1&" LABEL SUM(B) ''", 1)
后续仅需修改A1的年月值,即可自动更新对应月份的总金额。
内容的提问来源于stack exchange,提问作者Chinbin
相关产品推荐
相关产品推荐

