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

How to add a WHERE function to a complex string

我试图仅查询此复杂字符串中 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)

但是一直报错。

不确定我需要做什么。

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

尝试:

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