查询公式以替换筛选器



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

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

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

这是表格的副本,我需要帮助的公式在特价标签A2中。

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

谢谢!

这个公式能满足您的要求吗?

=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)

我通过将FILTER封装在QUERY中来实现它。我必须改进结束日期的逻辑>TODAY((,但在附加参数之后,它按我需要的方式工作。

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

我很高兴知道我可以查询(FILTER(然后正确导入结果。

谢谢你的关心。

最新更新