【问题标题】:How to add a WHERE function to a complex string如何将 WHERE 函数添加到复杂字符串
【发布时间】:2019-12-02 15:18:09
【问题描述】:

我正在尝试仅查询此复杂字符串中 K 列中数字 > 0 的数据。

=QUERY('Form Responses 1'!A1:K,"SELECT *" & if(COUNTBLANK('Helper Formulas'!A1:A3)=3,""," WHERE " & TEXTJOIN(" AND ",TRUE,'Helper Formulas'!A1:A3)),1)

我试过了……

=QUERY('Form Responses 1'!A1:K,"SELECT * WHERE K > 0" & if(COUNTBLANK('Helper Formulas'!A1:A3)=3,""," WHERE " & TEXTJOIN(" AND ",TRUE,'Helper Formulas'!A1:A3)),1)

但是一直报错。

不知道我需要做什么。

【问题讨论】:

  • 请分享您的工作表副本

标签: if-statement google-sheets google-sheets-formula google-sheets-query google-query-language


【解决方案1】:

尝试:

=QUERY('Form Responses 1'!A1:K, 
 "where K > 0"&IF(COUNTBLANK('Helper Formulas'!A1:A3)=3,,
 " and "&TEXTJOIN(" and ", 1, 'Helper Formulas'!A1:A3)), 1)

【讨论】:

  • 哦,看起来您删除了“WHERE *”并用正确的命令替换了它。
  • @AustinFarmer 当然,the SELECT * 是不必要的,所以跳过它。在一个查询公式中只能是一个where。之后您需要使用andor
【解决方案2】:

第二个公式有两个WHEREs。将第二个替换为AND,类似于:

=QUERY('Form Responses 1'!A1:K,"SELECT * WHERE K > 0" & if(COUNTBLANK('Helper Formulas'!A1:A3)=3,""," AND " & TEXTJOIN(" AND ",TRUE,'Helper Formulas'!A1:A3)),1)

如果你最终得到太多的“AND”,你可能需要调整它。

在解决此类问题时,仅在单元格中显示字符串(即仅在 query() 函数内的位)通常很有帮助。那会很快显示错误。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-02-23
    • 2012-12-15
    • 2019-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-21
    相关资源
    最近更新 更多