Google Spreadsheets QUERY()组合了多个工作表,相同的工作簿

时间:2017-01-11 00:34:16

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

目标:我在gSheets中使用QUERY()来合并同一工作簿中多个工作表的数据。数据是GA的摘录,细分为小段以防止采样。这意味着它具有所有相同的字段,我只是将它拼凑回来进行分析。

我想使用QUERY()执行此操作,因为数据已连接到使用Google Analytics表格插件自动更新。我们的想法是,当它在未来更新时,它将再次拼凑在一起,并且分析将在没有任何额外努力(或人为错误的风险)的情况下运行。

我关注了Google支持syntax,其中包含一个适合多张工作表的住宿。这在其他帖子中被提及,并且似乎对其他人有用 - 但是当与IMPORTRANGE结合引用外部工作簿时。在同一工作簿中必须有类似的方法。

我尝试过的事情:

=QUERY({'LandingPages-Oct1'!A16:F,'LandingPages-Oct2'!A16:F},"select *",0)

^所有逗号分隔都会导致工作表并排导入

=QUERY({'LandingPages-Oct1'!A16:F;'LandingPages-Oct2'!A16:F},"select *",0)

^分号分隔表会显示第一张数据,但不会显示第二张

=QUERY({'LandingPages-Oct1'!A16:F;'LandingPages-Oct2'!A16:F};"select *",0)

^分号查询参数的分号不返回结果

我错过了什么?

示例数据: https://docs.google.com/spreadsheets/d/1STuBdXPCY-mtJdmKZVblR8WlvLaRPa3tl4Kme10sQBQ/edit?usp=sharing

4 个答案:

答案 0 :(得分:8)

  

分号分隔页会显示第一张数据,但不会显示第二张

这通常意味着您没有滚动到工作表的底部以查看第一个工作表中所有空行下的数据的第二部分。

由于您可能不想导入空行,因此将其过滤掉(通过某些预期非空的列):

={filter('LandingPages-Oct1'!A16:F, len('LandingPages-Oct1'!A16:A));
  filter('LandingPages-Oct2'!A16:F, len(LandingPages-Oct2'!A16:A))}

根本不需要查询;查询字符串"select *"表示您并未真正查询。

答案 1 :(得分:7)

或者,您也可以使用查询删除空行

=QUERY({'LandingPages-Oct1'!A16:F; 'LandingPages-Oct2'!A16:F}, "where Col1 <>''")

答案 2 :(得分:0)

关于:

  

^分号分隔的页面导致第一行数据出现,但第二行没有出现

对我来说,为什么这最初不起作用是因为两个表的格式不相同。粘贴相同的格式后,它又可以工作了。

答案 3 :(得分:0)

弄清楚如何使用上面的公式按列进行排序:

=SORT(QUERY({'LandingPages-Oct1'!A16:F; 'LandingPages-Oct2'!A16:F}, "where Col1 <>''"),1,TRUE)

这将按第1列排序。