QUERY返回0

时间:2019-12-10 14:47:22

标签: google-sheets sum google-sheets-formula array-formulas google-sheets-query

我有一个包含几列的主数据表(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

有人可以帮我这个忙吗?

1 个答案:

答案 0 :(得分:0)

尝试:

=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)))