如何连续查询结果?

时间:2015-10-12 09:46:31

标签: google-sheets

我有这样的数据:

A          | B
-----------------------
Date       | Data
30/06/2015 | 1.2
01/07/2015 | 2
01/07/2015 | 3
02/07/2015 | 2
02/07/2015 | 3

我写了一个简单的查询:

=query(A:B; "select YEAR(A) || ' ' || month(A), SUM(B)
    group by YEAR(A), month(A)")

但我有一个"价值错误",所以我写这个

=query(A:B; "select YEAR(A), MONTH(A), SUM(B)
    group by YEAR(A), month(A)")

它运作良好,但是,如何在一个单元格中连接两个值?

我虽然如此:

=QUERY(Journal!A:B;"select A, SUM(B)
    group by A
    format A 'yyyy-MM'")

但格式化操作是在小组之后完成的,所以它就像从未有过的小组一样。

有什么想法吗?

[解决]

=query({Arrayformula(text(Foo!A:A; "yyyy-MM")) \Foo!B:B}; "select Col1, sum(Col2) group by Col1"; -1)

因为我的当地人是"法国人"我使用' \'在Arrrayformula和;而不是',#39; ...

1 个答案:

答案 0 :(得分:0)

使用&符号(&)在arrayformula中连接:

=ArrayFormula(if(len(A:A), year(A:A)&" "&month(A2:A),))

或者如果您不想要年和月之间的空格:

=ArrayFormula(if(len(A:A), year(A:A)&month(A2:A),))

编辑:

如果您想查询和求和,请尝试:

=query({Arrayformula(text(Journal!A:A, "yyyy-MM")),Journal!B:B}, "select Col1, sum(Col2) where Col2 is not null group by Col1", 0)

或在使用分号作为参数分隔符的语言环境中:

=query({Arrayformula(text(Journal!A:A; "yyyy-MM"))\Journal!B:B}; "select Col1, sum(Col2) where Col2 is not null group by Col1"; 0)

Example spreadsheet