我正在学习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条件的情况下运行上述代码,则它将按预期返回数据。我不知道为什么,或者是什么问题。任何指导将不胜感激。
答案 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)