【问题标题】:Google Sheets QUERY() and FILTER () NOT WORKING谷歌表格查询()和过滤器()不起作用
【发布时间】:2021-04-22 09:21:27
【问题描述】:

我有一张表,我在其中使用日期选择器来查询不同的数据集,例如: 开始日期:01.01.2021 结束日期:28.02.2021

这将返回此日期范围内正确过滤的数据。然后我更改为另一个也可以正常工作的日期范围。但是,当我尝试再次输入 01.01.2021 和 28.02.2021 作为日期范围时,过滤后的结果包含来自先前选择的日期范围的随机行。

这是一个已知问题还是有人知道为什么会这样? QUERY () 和 FILTER () 出现问题。

谢谢 尼古拉斯

【问题讨论】:

  • 你能把公式和你正在使用的数据一起分享吗?另外,你期望得到什么? @NiclasBauer
  • =IF(OR($L$2="";$L$3="");"";FILTER(IMPORTRANGE(LinkMainList;"application!B2:B");IMPORTRANGE(LinkMainList; "application!P2:P")"";IMPORTRANGE(LinkMainList;"application!Q2:Q")="";(IMPORTRANGE(LinkMainList;"application!O2:O")="no")+(IMPORTRANGE (LinkMainList;"application!O2:O")="");IMPORTRANGE(LinkMainList;"application!R2:R")>=$L$2;IMPORTRANGE(LinkMainList;"application!R2:R")
  • 您能否分享一下您的数据是什么样的以及您希望收到什么? @NiclasBauer
  • 对不起。我真的很想分享我的电子表格,但它包含来自我公司的机密数据。我会看看我是否有时间创建一个重现错误的示例电子表格。
  • 我只能描述我的数据源:它只是一个包含 Empl 列的长数据库。 ID、名字、姓氏、资历、单位、地点、招聘日期。我正在构建一个仪表板,经理可以在其中进入另一个选项卡,并通过指定开始日期和结束日期来过滤数据库选项卡中的数据。目标是返回过滤后的数据集,其中仅包含 Hiring Date >= 输入的开始日期和 Hiring Date

标签: google-sheets-api


【解决方案1】:

到目前为止,看看您的工作会很有帮助,但为什么不使用 QUERY() 来“过滤”而使用 WHERE 子句。

WHERE date_column > date '2000-01-01' AND date_column < date '2010-01-01'

更进一步,设置两个单元格来保存开始日期和结束日期,并在 QUERY() 函数 SELECT 语句中引用它们

=QUERY(Data!$A$1:$H$136,"select C, B where B > date '"&TEXT(A1,"yyyy-mm-dd")&"' AND B < date '"&TEXT(B1,"yyyy-mm-dd")&"'",1)

在上面的示例中,A1 将保存开始日期,B1 将保存结束日期。通过这种方式,您将永远不需要编辑公式,只需更改公式引用的单元格中的值。

【讨论】:

  • 嗨,约翰,我在上面写了我的答案。评论区太长了。这真的很奇怪,因为我在另一张表中使用了相同的公式,并且切换日期没有产生错误。该工作表也在查看与错误所在的另一个工作表相同的另一个工作表(每个 Importrange)。
【解决方案2】:

谢谢约翰。然而,这正是我所做的。我引用了两个单元格(公式中的开始日期和结束日期)。我尝试使用 QUERY () (使用 WHERE 子句)过滤数据,并且我也尝试仅使用 FILTER () 来过滤数据。两个公式都产生了描述的错误。

我会看看是否有时间设置示例表,但同时这里是我使用的(i.m.o. unelegant)解决方案:

1:使用 QUERY () 或 FILTER () 对选定日期的数据进行过滤。切换日期时,我注意到结果集始终包含正确的数据集(即当前所选日期的数据)加上来自先前选择的范围的随机行。

2:然后我使用另一个过滤器公式再次过滤了当前选定日期的此表,这工作正常,我得到了选定日期范围的数据集,没有随机行。所以我只是再次过滤了过滤后的数据集。

问候 尼古拉斯

【讨论】:

  • Niclas,分享您编写的 QUERY() 函数(暂时不要使用 FILTER(),直到您可以发布示例表。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-22
  • 2019-10-19
  • 2017-02-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多