我需要将一个文本列与另一个日期进行比较,该列包含一个表示日期的字符串,格式为 dd/mm/yyyy。
我需要这样的东西:
=query(importrange(...); "select A, B WHERE C >= '2017-01-08'")
当然这不起作用,因为只有 Aldo 行是可见的。有什么方法可以在查询函数中将 C 列转换为日期或格式为 yyyy-mm-dd 的字符串,以将其与比较的右侧值进行比较?
我需要将一个文本列与另一个日期进行比较,该列包含一个表示日期的字符串,格式为 dd/mm/yyyy。
我需要这样的东西:
=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 函数在单元格中创建文本“选择 B、C、E,其中 B=43152”,然后在我的 QUERY 中引用该单元格,例如所以:
Cell B1: =CONCATENATE("select B, C, E where B=", A2)
Cell A5 formula: =QUERY(Sheet!Range, B1)
这对我很有效,我希望它可以帮助其他人,或者至少给别人一个想法。