首页 > 解决方案 > 查询公式替换过滤器

问题描述

我有一个谷歌表格过滤器公式,我需要用一些东西替换,我在想 QUERY,但我似乎无法做到这一点?

=FILTER(食物!$B:$K,食物!$A:$A=true,TODAY()>=食物!$C:$C,(食物!$D:$D-TODAY())<=14 ,NOT(ISBLANK(食物!$C:$C)),NOT(ISBLANK((食物!$D:$D-TODAY()))))

我需要 IMPORTRANGE 过滤后的结果,它们会丢失表格格式。我得到了 QUERY 工作,但日期固定。我尝试了许多组合,但似乎无法确定语法。

这是工作表的副本,我需要帮助的公式位于特价选项卡 A2 中。

https://docs.google.com/spreadsheets/d/16bAAI-A_EMsy1noj8U-fhIuT4XTbfgOJuxvzi_0hYhk/edit?usp=sharing

谢谢!

标签: google-sheets

解决方案


这个公式做你想要的吗?

=QUERY(Food!$A:$K,"select * 
  where A=TRUE 
    and (C > date '2000-01-01' and C <  date '" & TEXT(TODAY(),"yyyy-mm-dd") & "') 
    and (D > date '2000-01-01' and D <= date '" & TEXT(TODAY()+14,"yyyy-mm-dd") & "') ",0) 

C 和 D 的第一次日期测试是为了确保它们不是空白的。使用C <> ''C <> 0没有工作,我猜是因为它是一个日期字段。

更新

我的错误 - 我遗漏了我最初包含的一些逻辑。尝试这个:

=QUERY(Food!$A:$K,"select B,C,D,E 
  where A=TRUE 
    and (C > date '2000-01-01' and  C <= date '" & TEXT(TODAY(),   "yyyy-mm-dd") & "') 
    and (D > date '2000-01-01' and (D >= date '" & TEXT(TODAY(),   "yyyy-mm-dd") & "'
                               and  D <= date '" & TEXT(TODAY()+14,"yyyy-mm-dd") & "')) ",0)

推荐阅读