如何使用Google Spreadsheet进行查询以检查日期


11

我的范围从到B4:H124。B列中的所有单元格都是日期。我想从行(B:H)检索数据,其中DATE等于特定单元格的内容,可以说Q4。

如何构造适当的查询?

到目前为止,我的想法是:

=QUERY(B2:G124; "select * where B = date '2012-02-28'")

即使B中单元格的格式为DD / MM / YYYY,也可以使用。

如何更改2012-02-28$Q4?当我尝试时,出现以下错误:

=QUERY(B2:G124; "select * where B = date '"&Q4&"'")

Invalid query: Invalid date literal [10/02/2012]. Date literals should be of form yyyy-MM-dd.

当我查看单元格时,格式为yyyy-mm-dd,但是当我双击它时,格式更改为DD-MM-YYYY

我该怎么办?

另外,如何在不包括列B的情况下汇总查询中的值?

Answers:


3

我还找不到真正的日期单元格起作用的窍门,但是如果没有其他问题,可以通过在单元格'中以以下格式添加单引号()来解决该问题:YYYY-MM-DDQ4

单引号意味着它将被解析为字符串。


11

您可以像这样格式化日期:

=QUERY(B2:G124; "select * where B = date '" & text(Q4,"yyyy-MM-dd") & "'")

要汇总C列中的值,请执行以下操作:

=QUERY(B2:G124; "select sum(C) where B = date '" & text(Q4,"yyyy-MM-dd") & "'")

但不确定如何汇总多列-对于我自己来说还很新!


2

这应该工作:

=QUERY(B2:G124; "select * where B = date '"&text(Q4;"yyyy-MM-dd")&"'")

无论如何,我遇到了同样的问题,终于对我有用。

问题是您对消息感到困惑

Invalid query: Invalid date literal [10/02/2012]. Date literals should be of form yyyy-MM-dd.

这是因为Q4单元格的日期格式似乎是dd / MM / yyyy。我有同样的想法:即使看起来像是dd / MM / yyyy,您也只需要像上面我在回复中的第二行所给出的那样就可以了。


1

Q3按照以下格式将所需日期放入新的单元格中:2/28/2012

然后在Q4单元格类型=YEAR(Q3) & "-" & DEC2OCT(MONTH(Q3), 2) & "-" & DAY(Q3)

这将从Q3单元格中获取日期,并将其转换为单元格中的字符串Q4

如果您需要当前日期,这将更有帮助。Q3可以now()这样获取今天的日期,而不是从中获取日期:=YEAR(now()) & "-" & DEC2OCT(MONTH(now()), 2) & "-" & DAY(now())


1

最终应该是:

=QUERY(B2:G124; "select * where B = date ' "  & text( Q4 ,"yyyy-MM-dd") & "'")

Q4是正常日期格式的单元格,您可以在其中键入日期。

将以上内容复制到您的记事本中,并放大字体大小以了解所有内容。

'"这里很难看到双打中的单打。


0

您还可以计算字符串之外的日期,然后将放下date,例如

=QUERY(B2:G124; "select * where B = '" & Q4)

Q4有效地以整数形式传递,这是QUERY始终将日期转换为后台的原因。


0

使用Google的QUERY函数:

对于sum 多列label在查询末尾包含参数很重要

=QUERY(B2:G124; "select sum(C) + sum(D) + sum(E) + sum(F) + sum(G) label sum(C) + sum(D) + sum(E) + sum(F) + sum(G) '' ") 

注意:列引用区分大小写,并且在查询末尾需要2个单引号。

要添加where引用单元格日期值的子句:来自s6mikes解决方案

=QUERY(B2:G124; "select * where B = date '" & text(Q4,"yyyy-MM-dd") & "') 

2个查询合起来 ...

=QUERY(B2:G124; "select sum(C) + sum(D) + sum(E) + sum(F) + sum(G) where B = date '" & text(Q4,"yyyy-MM-dd") & "' label sum(C) + sum(D) + sum(E) + sum(F) + sum(G) '' ")

-1

您必须将参考单元格中的数据类型更改为文本。并且它将顺利运行。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.