【问题标题】:Google Query Language Concatenation谷歌查询语言连接
【发布时间】:2015-11-01 04:47:53
【问题描述】:

是否可以将列中的值与 Google 查询语言中的字符串连接起来?我想做这样的事情:

=QUERY('Business Income'!A1:E, "select 'Q' + quarter(A), sum(B) where A is not null group by 'Q' + quarter(A) label quarter(A) 'Quarter', sum(B) 'Income'")

使用如下所示的数据:

Date          Amount
----------    -------
01/01/2015    XXXX.XX
02/01/2015    XXXX.XX
03/01/2015    XXXX.XX
04/01/2015    XXXX.XX
05/01/2015    XXXX.XX
...

我希望输出是这样的:

Quarter    Income
-------    ---------
Q1         $XXXXX.XX
Q2         $XXXXX.XX         
Q3         $XXXXX.XX
Q4         $XXXXX.XX

【问题讨论】:

  • 据我所知,在 Google Query 语言中不可能将字段与字符串连接起来。我认为最简单的解决方案是创建一个额外的列来计算季度 (=ceil(month(A)/3)) 并在前面加上“Q”。然后您可以在查询中使用此列。
  • 不能再编辑了,但是ceil函数不存在,它实际上叫做“ceiling”
  • @pnuts 我会更新问题。
  • @jvdh 太糟糕了。 :( 在查询中进行连接的简单方法会很好。
  • FWIW 我在答案中总结了 cmets,以便将来的访问者更容易找到

标签: google-sheets google-query-language


【解决方案1】:

使用格式。

select quarter(A), sum(B)
where A is not null
group by quarter(A)
label quarter(A) 'Quarter', sum(B) 'Income'
format quarter(A) 'Q#'

抱歉迟到了……

【讨论】:

    【解决方案2】:

    在 Google Query 语言中,无法将字段与字符串连接起来。

    如果您需要连接字段以进行进一步的数据操作,您可以创建一个额外的列来计算季度并在 Q 前面添加(例如="Q"&ceiling(month(A)/3))。然后您可以在查询中使用此列。

    否则,如果您只想更改视觉显示,可以将数字格式化为“Q”#(如@pnuts 建议的那样)。

    【讨论】:

    • 感谢您的回复!
    猜你喜欢
    • 1970-01-01
    • 2021-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-29
    相关资源
    最近更新 更多