Google表格:查询将列转换为日期并与其他日期进行比较

时间:2017-04-10 12:56:24

标签: google-sheets google-query-language

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

范围在另一张纸上。我无法编辑它以将列格式化为日期字段: enter image description here

我需要这样的东西:

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

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

2 个答案:

答案 0 :(得分:1)

繁琐但似乎有效:

导入(比如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' ")

答案 1 :(得分:0)

我知道这已经很晚了,但几年前我遇到了同样的问题并通过以下方式解决了这个问题:

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)

这对我很有用,我希望它可以帮助别人或者至少给别人一个想法。

相关问题