Google 工作表:查询以将列转换为日期并与另一个日期进行比较

Google Sheets: query to convert column to date and compare to another date

我需要比较一个文本列,其中包含一个表示 dd/mm/yyyy 格式日期的字符串与另一个日期。

范围在另一个sheet。我无法编辑它以将列格式化为日期字段:

我需要这样的东西:

=query(importrange(...); "select A, B WHERE C >= '2017-01-08'")

当然这不起作用,因为只有 Aldo 行可见。有什么方法可以在查询函数中将列 C 转换为日期或格式为 yyyy-mm-dd 的字符串,以便将其与比较的右侧值进行比较?

麻烦但似乎有效:

导入(比如 Sheet1!A1):

=importrange(" k e y ","Sheet1!A:C")

添加具有可识别日期格式的列(例如在 D1 中):

=ArrayFormula(datevalue(C1:C))

然后应用查询:

=query(Sheet1!A:D,"select A,B,C where D >= date '2017-01-08' ")

我知道这已经晚了,但我 运行 几年前遇到过同样的问题,并通过执行以下操作修复了它:

Cell A1 contains: 2/21/2018

Cell A2 contains: =DATEVALUE(B1)

结果为 43152,我将其复制到 QUERY 语句中:

Cell A5 formula: =QUERY(Sheet!Range, "select B, C, E where B=43152")

但是,为了通过只输入日期让它变得更好,我使用 CONCATENATE 函数在一个单元格中创建文本 "select B, C, E where B=43152",然后在我的 QUERY 中引用该单元格,如下所示:

Cell B1: =CONCATENATE("select B, C, E where B=", A2)

Cell A5 formula: =QUERY(Sheet!Range, B1)

这对我来说效果很好,我希望它能帮助别人或至少给别人一个想法。