【问题标题】:QUERY returns 0查询返回 0
【发布时间】:2019-12-10 14:47:22
【问题描述】:

我有一个包含几列的主数据表 (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-sheets sum google-sheets-formula array-formulas google-sheets-query


【解决方案1】:

尝试:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-12-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-11
    • 2018-11-19
    • 2016-10-08
    • 2015-11-01
    相关资源
    最近更新 更多