【问题标题】:Google Sheets: sum two columns by QUERY with some empty cells谷歌表格:通过查询将两列与一些空单元格相加
【发布时间】:2017-08-21 18:26:30
【问题描述】:

我尝试使用 Google 表格中的 query 函数获取两列的总和。

  Col1   Col2    Col3
  -----------------------
  12             User1
  23     44      creature
         55      User1
  14             User1

如果每列中至少有一个数字,则此方法可以正常工作:

=QUERY(IMPORTRANGE('SomeURL';"Page!A1:C");
"select (sum(Col1) + sum(Col2)) where Col3 = 'User1'")

但是,如果 一列 中的所有单元格在结果集中都为空,则此查询会导致错误 QUERY:AVG_SUM_ONLY_NUMERIC

  Col1   Col2    Col3
  -----------------------
  12             User1
  23     44      creature
                 User1
  14             User1

如果有时某一列中的单元格为空,我如何使用query 函数获取列的总和?

【问题讨论】:

    标签: google-sheets formulas


    【解决方案1】:
        =ARRAYFORMULA(SUM(query(IMPORTRANGE("url","page!A1:C6"),"select Col1,Col2 where Col3 = 'User1'")))
    

    这应该适用于简单的总和。但我认为QUERY 内部没有办法将空白视为零或将它们假设为数字。如果您实际上可以将范围导入工作表(即,将它们用作辅助列),那么您可以使用ARRAYFORMULA(Query ({filter (A1:B6*1,NOT(ISEMAIL(A1:A6))),C1:C6}, "select *.... 您应该在查询之外转换空白(通过*1)或在查询之外对它们求和。或者使用双重查询和双重导入范围,这会降低性能。

    【讨论】:

    • sum(query)
    【解决方案2】:

    您可以对查询求和,如下所示: =sum(query('SomeURL';"Page!A1:C"); "select Col1, Col2 where Col3 ='User1'"))

    或使用 SUMIF() 两次,每列一次。不过,这意味着 2 个导入范围,因此可能会更慢。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-01-08
      • 1970-01-01
      • 1970-01-01
      • 2020-09-22
      • 2016-01-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多