如何在谷歌查询语言中使用substring和charindex

时间:2014-12-30 20:25:48

标签: sql google-sheets

我有一个包含多个列的Google电子表格表:

A:约会 B:字符串 C:数字 ... G:字符串(可能为空) H:字符串(可能为空)

我想要一张包含以下内容的小表:

获取表中C的总和,其中行是G的值(它的子串,因为它们被配置为:CATEGORY:ITEM,我只需要按CATEGORY分组)并且列是monts

到目前为止,我只获得了部分解决方案(例如逐月(toDate(A))等) - 我似乎无法使用substring和charindex,也没有留下来进行字符串操作来删除类别之后的项目部分,也不将这些项目显示为结果行中的第一个列...

编辑:只是为了清理一下:我需要改变每行的G值,以便我可以按更改的值进行分组。我知道可以使用日期(在我的示例中 - >逐个月组(toDate(A))让我可以访问A列中的每个值,因此结果会针对每个单独的月份正确分组)。但似乎不允许字符串操作?

我如何为初学者做到这一点。

由于

1 个答案:

答案 0 :(得分:2)

根据您想要的输出,您可以在表2中试试这个:

=ArrayFormula(query({day(Sheet1!A2:A10)&text(month(Sheet1!A2:A10), " (mmm)"), Sheet1!B2:F10, regexextract(Sheet1!G2:G10, "(.+):")}, "select Col7, sum(Col3) group by Col7 pivot Col1"))

看看这是否到了某个地方?

或者如果您更喜欢开放式范围:

=ArrayFormula(query({day(Sheet1!A2:A)&text(month(Sheet1!A2:A), " (mmm)"), Sheet1!B2:F, iferror(regexextract(Sheet1!G2:G, "(.+):"))}, "select Col7, sum(Col3) where Col7 <>'' group by Col7 pivot Col1"))