Google查询通过单元格引用选择全部或特定文本



下面的公式可以选择全部,但是当我去搜索特定文本时抛出任何错误。在一个单独的选项卡上,我创建了另一个用于特定文本的查询。

单元格引用A4是包含所有、状态1和状态2的下拉列表,我希望能够从中选择数据。

=Query({Query(importrange("xxxxx", "'"&A1&"'!A3:Q150"), "SELECT * WHERE Col6>= "&A3&"AND Col6 <= "&B3&", 0)}, "SELECT Col1, Col2, Col3, col4;,如果(A4 ="All"Col4 ="和A4&";"),0)

我有状态1和状态2工作在一个单独的查询,和所有工作在当前查询,试图使它们在一个表上工作。目前只有所有作品。当选择状态1或状态2时,将抛出此错误。无法解析函数查询参数2的查询字符串:PARSE_ERROR: encounter "Col4";"在第1行,第36列。我在等一个:"在哪里"…"group"…"pivot"…"order"…"skipping"…"limit"…"offset"…"label"…"format"…"options"…",";…">"…"+";…"产生绯闻;…"/";…"%";…">"…"/";…"%";…"+";…"产生绯闻;…

尝试在where之前或第一个Col4之后添加空格

=Query({QUERY(importrange("xxxxx", "'"&A1&"'!A3:Q150"), 
"SELECT * WHERE Col6 >= "&A3&" AND Col6 <= "&B3&"",0)}, 
"SELECT Col1, Col2, Col3, Col4" & IF(A4= "All",, " Where Col4 = '"&A4&"'"),0)

try:

=QUERY(QUERY(IMPORTRANGE("xxxxx", A1&"!A3:Q150"), 
"where Col6 >= "&A3&" 
and Col6 <= "&B3, ), 
"select Col1,Col2,Col3,Col4"&
IF(A4="All",," where Col4 = '"&A4&"'"), )

你可以去掉所有这些:

  • 数组括号{}不需要,因为内部查询不是一个范围
  • 在IMPORTRANGE内使用单引号,因为它应用与INDIRECT相同的规则。
  • 0作为第三个QUERY参数,因为它可以省略
  • select *如果您想要所有列,那么只需跳过整个select参数
  • 以B3后的&""结束QUERY,因为它是完全冗余的

最新更新