如何查询包含日期范围?

时间:2021-06-26 01:44:39

标签: google-sheets google-sheets-formula formula

我已经建立了一个谷歌表格查询,我想通过添加一个日期范围来改进它。关于我如何改进我的代码以使其实际工作的任何想法,到目前为止还没有工作。

=QUERY(IMPORTRANGE("url", "Masterfile!A:AS"), "where Col35 is not null" & "where Col41 > date '"&TEXT($A$2,"yyyy-mm-dd")&"' and Col41 <= date '"&text($B$2,"yyyy-mm-dd")&"'",1))

1 个答案:

答案 0 :(得分:1)

在寻求谷歌工作表帮助时,最好提供工作表的副本。在这种情况下,我正在盲目工作,因为看不到 A2 和 B2 的值。假设它们都是日期。 QUERY() 的第二个参数的语法是关闭的,这种情况经常发生,有时需要一些时间才能从 QUERY() 函数抛出的一般错误中找出问题所在。

我通常将第二个参数分解为一个公式,以查看当我收到错误时它是如何计算的。使用我在这里选择的两个日期是结果:

公式为:

="where Col35 is not null" & "where Col41 > date '"&TEXT($D$49,"yyyy-mm-dd")&"' and Col41 <= date '"&text($D$50,"yyyy-mm-dd")&"'"

计算结果为:

where Col35 is not nullwhere Col41 > date '1959-10-21' and Col41 <= date '1960-10-21'

现在可以看到 NULL 关键字后的问题。在 QUERY() 中,我们可以使用逻辑运算符,例如 AND、OR 和 NOT。

="where Col35 is not null AND where Col41 > date '"&TEXT($D$49,"yyyy-mm-dd")&"' and Col41 <= date '"&text($D$50,"yyyy-mm-dd")&"'"

评估为:

其中 Col35 不为 null AND where Col41 > date '1959-10-21' and Col41 <= date '1960-10-21'

所以,把它放在一起应该可以:

=QUERY(IMPORTRANGE("url", "Masterfile!A:AS"), "where Col35 is not null AND where Col41 > date '"&TEXT($D$49,"yyyy-mm-dd")&"' and Col41 <= date '"&text($D$50,"yyyy-mm-dd")&"'",1))
相关问题