Google sheets 谷歌表单中的累积差异或滚动差异-查询
我有以下Google sheets 谷歌表单中的累积差异或滚动差异-查询,google-sheets,google-query-language,google-sheets-query,Google Sheets,Google Query Language,Google Sheets Query,我有以下查询公式,将不同facebook页面的关注者数量从一张页面转到另一张页面: =QUERY('Page Level'!A2:N, "SELECT C, MAX(J) where J<>0 and M<>'' GROUP BY C PIVOT M label C 'Date'") 我想要,而不是有完整的追随者计数,一个简单的日期之间的差异。因此,如果我们使用上面的表格,结果会是这样的: Date Australia Austria Belgium
查询公式
,将不同facebook页面的关注者数量从一张页面转到另一张页面:
=QUERY('Page Level'!A2:N, "SELECT C, MAX(J) where J<>0 and M<>'' GROUP BY C PIVOT M label C 'Date'")
我想要,而不是有完整的追随者计数,一个简单的日期之间的差异。因此,如果我们使用上面的表格,结果会是这样的:
Date Australia Austria Belgium
2018-01-01 7912 4365 1343
2018-01-02 19 -1 0
2018-01-03 -1 2 1
每一个新的日期都是如此。任何人都知道如何在谷歌表单上这样做吗
如果有帮助的话,我也有数据表明这些国家都在同一列。但是,数据不是按国家和日期排序的。而不是按日期和国家,所以这个解决方案必须事先对数据进行排序
数据透视:
Date Country Followers
2018-01-01 Australia 7912
2018-01-01 Austria 4365
2018-01-01 Belgium 1343
2018-01-02 Australia 7931
2018-01-02 Austria 4364
2018-01-02 Belgium 1343
2018-01-03 Australia 7930
2018-01-03 Austria 4366
2018-01-03 Belgium 1344
2018-01-04 Australia 7928
2018-01-04 Austria 4365
2018-01-04 Belgium 1345
2018-01-05 Australia 7929
2018-01-05 Austria 4362
2018-01-05 Belgium 1347
2018-01-06 Australia 7939
2018-01-06 Austria 4363
2018-01-06 Belgium 1347
2018-01-07 Australia 7950
2018-01-07 Austria 4361
2018-01-07 Belgium 1348
2018-01-08 Australia 7933
2018-01-08 Austria 4339
2018-01-08 Belgium 1343
我已经非常接近它使用的基本思想是从数据透视偏移量中减去数据透视偏移量1:
=iferror(arrayformula({query(A:C,"SELECT A, MAX(C) where C<>0 and B<>'' GROUP BY A PIVOT B limit 1 label A 'Date'");
query(A:C,"SELECT A, MAX(C) where C<>0 and B<>'' GROUP BY A PIVOT B offset 1")-
query(A:C,"SELECT 0, MAX(C) where C<>0 and B<>'' GROUP BY A PIVOT B")}),"")
=iferror(数组公式({query(A:C,“选择A,MAX(C)”,其中C0和B''按轴B限制1标签A“日期”分组);
查询(A:C,“选择A,最大值(C),其中C0和B”按轴B偏移量1分组)-
查询(A:C,“选择0,最大值(C),其中C0和B''按轴B分组”),“”)
它会产生一个错误(正如您预期的那样),试图减去标题,然后减去不存在的行。我不知道如何避免这种情况,除非使用IFERRO,它会生成一个空行,如下所示:
是的,您可以让我们使用一些未分组的数据来处理plz吗?完成@TomSharpeHi Tom,我刚刚删除了
iferror
,并将其替换为另一个查询。这删除了额外的空行(见下文)。另一方面,无论是我的解决方案还是你的解决方案,除了第一行之外,我的日期现在是31/12/1899
。无论如何,请参见答案:=QUERY(数组形式({QUERY('Page Level'!A:N,“选择C,MAX(J)其中J0和M''按C轴M分组限制1标签C'日期”);QUERY('Page Level'!A:N,“选择C,MAX(J)其中J0和M''按C轴M偏移量1分组”)-QUERY('Page Level!A:N,“选择C,MAX(J)其中J0和M''按C轴M分组”),“选择*所在COL1不为空”)< /COD>使用另一个查询删除空白行的好主意。请注意,在我的第三查询中的选择从“选择0…”开始,而不是“选择C…”-这应该给出正确的日期。
=iferror(arrayformula({query(A:C,"SELECT A, MAX(C) where C<>0 and B<>'' GROUP BY A PIVOT B limit 1 label A 'Date'");
query(A:C,"SELECT A, MAX(C) where C<>0 and B<>'' GROUP BY A PIVOT B offset 1")-
query(A:C,"SELECT 0, MAX(C) where C<>0 and B<>'' GROUP BY A PIVOT B")}),"")