2017-04-10 75 views
1

我需要将包含表示格式为dd/mm/yyyy的日期的字符串的文本列与另一个日期进行比较。Google表格:将列转换为日期并与另一个日期进行比较的查询

范围在另一个表中。我不能编辑它的列格式的日期字段: enter image description here

我需要的是这样的:

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

当然,这也不行,因为只有阿尔多行是可见的。有什么办法可以将查询函数中的C列转换为日期或模式为yyyy-mm-dd的字符串,以便将其与比较的右侧值进行比较?

回答

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' ") 
0

我知道这是WAY晚了,但我是在几年前遇到了同样的问题,并通过执行以下固定它:

Cell A1 contains: 2/21/2018 

Cell A2 contains: =DATEVALUE(B1) 

导致43152,我复制到查询语句:

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) 

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

相关问题