如何将WHERE函数添加到复杂的字符串

时间:2019-12-02 15:18:09

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

我正在尝试仅查询此复杂字符串内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)

但是要不断出错。

不确定我需要做什么。

2 个答案:

答案 0 :(得分:0)

第二个公式有两个WHERE。用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()函数内部的位)通常会很有帮助。那将很快显示出错误。

答案 1 :(得分:0)

尝试:

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