当我在公式中添加 WHERE 时查询功能不起作用

Posted

技术标签:

【中文标题】当我在公式中添加 WHERE 时查询功能不起作用【英文标题】:Query function not working when I add WHERE in formula 【发布时间】:2019-09-01 15:02:59 【问题描述】:

当我在 Google 表格中使用查询功能时,它可以正常工作,直到我尝试添加 WHERE 条件。我只想在第 10 列中提取包含 TRUE 值的数据。现在我的查询函数可以提取所有数据,但是当我尝试添加 WHERE 条件时,即使有TRUE 第 10 列中的值。

我尝试使用WHERE 条件从不同列中提取值,但没有成功。每当我尝试在查询公式中添加 WHERE 条件时,都不会提取任何数据。

以下代码可以提取所有数据:

=QUERY(RepTemplate1!A4:AC63;RepTemplate2!A5:AC64,"SELECT Col1, Col2, Col3, Col4, Col5, Col6, Col7, Col8, Col9, Col10, Col11",1)

以下代码无法提取指定数据:

=QUERY(RepTemplate1!A4:AC63;RepTemplate2!A5:AC64,"SELECT Col1, Col2, Col3, Col4, Col5, Col6, Col7, Col8, Col9, Col10, Col11 WHERE Col10 = 'TRUE'",1)

对于不起作用的公式没有错误消息。标题似乎没有数据。

不知道哪里出错了。

【问题讨论】:

【参考方案1】:

Google 表格将 TRUE 读取为布尔值而非字符串。因此,您可能想尝试不带单引号的相同查询:

=QUERY(RepTemplate1!A4:AC63;RepTemplate2!A5:AC64,"SELECT Col1, Col2, Col3, Col4, Col5, Col6, Col7, Col8, Col9, Col10, Col11 WHERE Col10 = TRUE",1)

【讨论】:

【参考方案2】:

或试试FILTER:

=RepTemplate1!A4:K4; 
  FILTER(RepTemplate1!A5:K63; RepTemplate2!A5:K64,
         RepTemplate1!J5:J63; RepTemplate2!J5:J64=TRUE)

【讨论】:

Google 表格似乎无法识别 FILTER 条件。 (可能是用户错误,我对 Google 表格中的查询相当陌生) docs.google.com/spreadsheets/d/… 我进行了一些故障排除并获得了 CONTAINS 条件来提取值,但我无法让公式从第 10 列中提取值。我想要第 10 列中的 TRUE 值(复选框)(J) RepTemplate1 和 RepTemplate2 选项卡上的值是出现在 Manager Data Test 选项卡上的唯一值。 工作表是私有的 对不起

以上是关于当我在公式中添加 WHERE 时查询功能不起作用的主要内容,如果未能解决你的问题,请参考以下文章

当我在 url 中手动添加参数时,角度路由不起作用

SQL 查询不起作用 - 使用 Where 条件不匹配

滚动时 Tableview 单元格中标签的自动收缩功能不起作用

当我在 firestore 中的 updateData 比 updateData 功能不起作用时?

猫鼬中的保存功能不起作用

将过程参数传递给 SELECT INTO where 子句不起作用