尝试按日期选择时,Google表格QUERY的“ where”条件返回空输出

时间:2019-12-17 02:00:14

标签: date google-sheets google-sheets-formula google-sheets-query google-query-language

我正在学习Google表格功能/公式,但遇到了QUERY功能问题。我有两张单独的纸,正在尝试将一张纸中的行/列拉到另一张纸中。工作表B是我要从中提取数据的地方。工作表B有5列,从A到E。在此工作表中添加和删除了行,因此要查询的行数会有所不同。我想拉出E列等于今天日期的所有行。这是我正在尝试的代码:

=query('SheetB'!A5:E100, "SELECT A,B,D,E where E = '" &TODAY()& "'")

E列的格式如下:MM / DD / YY

这将返回“#N / A”或“查询已完成且输出为空”

如果我在没有where条件的情况下运行上述代码,则它将按预期返回数据。我不知道为什么,或者是什么问题。任何指导将不胜感激。

2 个答案:

答案 0 :(得分:0)

这是最简单的方法:

=query('SheetB'!A5:E100, "SELECT * where E = toDate(now())")

查询使用非常特定的日期格式,因为不同地区的格式有很大不同。如果您有特定的日期,则使用以下内容。

=query('SheetB'!A5:E100, "SELECT A,B,D,E where E = date '"&TEXT(TODAY(),"yyyy-mm-dd")&"'")

请注意,您需要以“ yyyy-mm-dd”格式写日期。

https://developers.google.com/chart/interactive/docs/querylanguage

答案 1 :(得分:0)

如果 E 列是有效日期,则为:

=QUERY({SheetB!A5:B100, SheetB!D5:E100},  
 "where Col4 = date '"&TEXT(TODAY(), "yyyy-mm-dd")&"'", 0)

或:

=QUERY('SheetB'!A5:E100, 
 "select A,B,D,E
  where E = "&DATEVALUE(TODAY()), 0)