Google 电子表格 QUERY() 合并多个工作表,同一个工作簿

Google Spreadsheets QUERY() to combine multiple sheets, same workbook

目标: 我在 gSheets 中使用 QUERY() 将来自多个 sheet 的数据合并到同一工作簿中。数据是从 GA 中提取的,分解成小段以防止采样。这意味着它具有所有相同的字段,我只是将其拼凑起来进行分析。

我想使用 QUERY() 来执行此操作,因为使用 Google Analytics Sheets 插件将数据连接到自动更新。这个想法是,当它在未来更新时,它会再次将自己拼凑起来,并且分析将 运行 我们不需要任何额外的努力(或人为错误的风险)。

我遵循了 Google 支持 syntax,有一个住宿可以容纳多个 sheet。这在其他帖子中提到过,并且似乎对其他人有用——不过,当与引用外部工作簿的 IMPORTRANGE 结合使用时。在同一个工作簿中必须有类似的方法。

我试过的:

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

^ 所有逗号分隔导致 sheet 并排导入

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

^ 分号分隔 sheets 会导致第一个 sheet 数据出现,但不会出现第二个

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

^ 分号分隔查询参数returns 无结果

我错过了什么?

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

Semicolon separating sheets causes the first sheet of data to appear, but not the second

这通常意味着您没有滚动到 sheet 的底部以查看那里的第二部分数据,在第一个 sheet 的所有空行下方。

由于您可能不想导入空行,将它们过滤掉(通过一些预期为非空的列):

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

完全不需要查询; query string "select *" 表示你不是真的在查询。

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

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

关于:

^ Semicolon separating sheets causes the first sheet of data to appear, but not the second

对我来说这最初不起作用的原因是两个表的格式不一样。粘贴相同的格式后,这再次起作用。

想出如何使用上面的公式按列排序:

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

这将按第 1 列排序。