Google Sheets按年月求和:QUERY函数如何忽略空白单元格?
Google Sheets按年月求和并排除A列空白单元格的解决方法
问题原因排查
你之前用where A is not null报错,大概率是引用范围没包含A列,或是误用了中文单引号(比如‘S1’要改成英文的'S1');用Col1 is not null仍返回空白值,可能是A列的“空白”其实是空字符串,而非真正的单元格空值。
直接可用的函数写法
写法一:年份、月份分开显示
=QUERY(S1!A:F, "select year(A), month(A)+1, sum(F) where A is not null group by year(A), month(A)+1 label year(A)'年份', month(A)+1'月份', sum(F)'求和'", 1)
month(A)+1:Google Sheets的month函数返回值是0-11,加1后才是1-12的正常月份where A is not null:直接过滤A列真正为空的行- 最后一个参数
1:表示数据源有表头,QUERY会自动识别并保留表头逻辑
写法二:按「年月」格式合并显示
如果想要直接显示2024-05这类直观的年月格式,用这个:
=QUERY(S1!A:F, "select toDate(text(A,'yyyy-MM')), sum(F) where A != '' group by toDate(text(A,'yyyy-MM')) label toDate(text(A,'yyyy-MM'))'年月', sum(F)'求和'", 1)
A != '':同时过滤空值和空字符串,解决“看似空白但仍被统计”的问题text(A,'yyyy-MM'):把日期转成年月文本,再用toDate转成日期格式,分组后显示更清晰
内容的提问来源于stack exchange,提问作者Chele
相关产品推荐
相关产品推荐

