首页 > 解决方案 > 查询返回 0

问题描述

我有一个包含几列的主数据表 (Main),相关的是 A 列,一个日期(显示为 dd.mm.YYYY)和 D 列,一个数值。在第二张表中,我使用查询函数使用以下表达式构建特定月份的所有这些数值的总和:

=SUM(QUERY(Main!$A$1:$D$2364; "SELECT D WHERE MONTH(A) = 1"; 1))

MONTH(A)返回一个介于 0 和 11 之间的数字,上面的表达式在 1 月 (0) 到 10 月 (9) 中运行良好。但是,当我尝试MONTH(A) 与 > 9 的数字进行比较时,尽管在 11 月和 12 月都有大量条目,但总和显示为零。

我得到的是:

=SUM(QUERY(...; "SELECT D WHERE MONTH(A) = 10"; 1)) equals =SUM(QUERY(...; "SELECT D WHERE MONTH(A) = 1"; 1))
and
=SUM(QUERY(...; "SELECT D WHERE MONTH(A) = '10'"; 1)) equals 0

谁能帮我解决这个问题?

标签: google-sheetssumgoogle-sheets-formulaarray-formulasgoogle-sheets-query

解决方案


尝试:

=SUM(IFERROR(QUERY(Main!A2:D; "SELECT D WHERE MONTH(A) = 10"; 0)))

或者:

=SUMPRODUCT(IFERROR(QUERY(Main!A2:D; "SELECT D WHERE MONTH(A) = 10"; 0)))

或者:

=ARRAYFORMULA(SUM(IFERROR(QUERY(Main!A2:D; "SELECT D WHERE MONTH(A) = 10"; 0)*1)))

推荐阅读