Google表格中的Cumulatve差异或滚动差异 - 查询

时间:2018-04-13 11:20:14

标签: google-sheets google-query-language google-sheets-query

我有以下EXCEPT,它将不同Facebook页面的关注者数量从一张纸转到另一张:

query formula

结果是这样的,但有更多的国家:

=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  7931    4364    1343
2018-01-03  7930    4366    1344
2018-01-04  7928    4365    1345
2018-01-05  7929    4362    1347
2018-01-06  7939    4363    1347
2018-01-07  7950    4361    1348
2018-01-08  7933    4339    1343

以及每个新日期等等。有人知道如何在谷歌表上做这个吗?

如果有帮助,我也有数据,这些国家都在同一列。但是,数据不按国家/地区和日期排序。而不是日期和国家,所以这个解决方案必须事先按照我想象的方式对数据进行排序。

透过数据:

    Date      Australia Austria Belgium
    2018-01-01  7912    4365    1343
    2018-01-02  19       -1     0
    2018-01-03  -1      2       1

1 个答案:

答案 0 :(得分:1)

我已经非常接近它,使用从枢轴数据偏移减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产生一个如下所示的空行:

enter image description here