【问题标题】:Google Query - Date range filter that works with both: dates and no datesGoogle Query - 适用于以下两种情况的日期范围过滤器:日期和无日期
【发布时间】:2017-02-10 14:35:27
【问题描述】:

我有这个有效的查询:

=query('Database'!A1:AD979,"select* where (J > date '"&TEXT(A2,"yyyy-MM-dd")&"' and J < date '"&TEXT(B2,"yyyy-MM-dd")&"') and AD = 'Active'")

我有这个过滤器:

  • 开始日期 = A2
  • 结束日期 = B2

当我确实需要使用日期范围时,查询可以完美运行。但是,当我离开没有日期的过滤器以查看数据库中与“活动”匹配的所有值时,没有数据显示。

我怎样才能留下空的过滤日期,但仍能看到与我的第三个参数匹配的值,在本例中为“活动”

谢谢

【问题讨论】:

    标签: sql google-sheets


    【解决方案1】:

    我建议使用此查询,这样如果您删除任一日期,它将充当通配符

    =query(Database!A1:AD979,"select* where (J > date '"&TEXT(A2,"yyyy-MM-dd")&"' or '"&A2&"' = '') and (J < date '"&TEXT(B2,"yyyy-MM-dd")&"' or '"&B2&"' = '') and AD = 'Active'")
    

    【讨论】:

      【解决方案2】:

      我可以让查询使用空白日期,但不能使用空白日期。但是,我让它与过滤器一起正常工作,试试这个:

      =filter(Database!$A1:$AD, Database!J1:J>A2,IF(B2<>"",Database!J:J<B2,Database!J1:J<max(Database!J1:J)),Database!AD1:AD="Active")
      

      【讨论】:

        猜你喜欢
        • 2018-08-07
        • 1970-01-01
        • 2016-05-28
        • 1970-01-01
        • 1970-01-01
        • 2020-11-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多