使用importrange将多个电子表格合二为一

Flo*_*nT. 5 google-sheets array-formulas importrange google-sheets-formula

我找到了这个主题的多个主题,没有人回答我的问题.

问题:我想将多个电子表格的数据汇总到一个电子表格中.

  • 电子表格1有一行字符串A2:A500
  • 电子表格2有一行字符串A2:A500
  • 电子表格3应该有两行(Spreadsheet1!A2:A500和Spreadsheet2!A2:A500).

不应以不同方式处理重复项.我希望它们看起来像它们出现在不同的纸张中一样频繁.

问题:是否可以在不编写脚本或使用jQuery的情况下执行此操作?例如,使用IMPORTRANGE?

什么行不通:我尝试使用IMPORTRANGE如下:

ARRAY{IMPORTRANGE("key-of-spreadsheet1","list!A2:A500"), IMPORTRANGE("key-of-spreadsheet2", "list!A2:A500")}
Run Code Online (Sandbox Code Playgroud)

这会导致错误.

谢谢您的帮助.

sim*_*eco 15

当然,也可以将多个IMPORTRANGE()函数与QUERY()函数结合使用,这让我们可以更好地控制我们导入的结果

例如,我们可以使用这样的结构

=QUERY(
  {
    IMPORTRANGE("key-or-url-of-spreadsheet-1", "'sheet-name-1'!A2:Z100");
    IMPORTRANGE("key-or-url-of-spreadsheet-2", "'sheet-name-2'!A2:Z100");
    IMPORTRANGE("key-or-url-of-spreadsheet-3", "'sheet-name-3'!A2:Z100");
    IMPORTRANGE("key-or-url-of-spreadsheet-4", "'sheet-name-4'!A2:Z100")
  },
  "SELECT * WHERE Col1 IS NOT NULL ORDER BY Col3 ASC"
)
Run Code Online (Sandbox Code Playgroud)

解释:

上面的查询从导入的范围中删除空行

SELECT * WHERE Col1 IS NOT NULL
Run Code Online (Sandbox Code Playgroud)

按照与第三列相关的所有数据升序排序

ORDER BY Col3 ASC
Run Code Online (Sandbox Code Playgroud)

对于降序,只需使用 DESC 代替 ASC

当然,我们也可以安排任何其他标准,或者省略它们,不加修改地显示所有内容:

"SELECT * "
Run Code Online (Sandbox Code Playgroud)

笔记:

为了使用上面构造的查询,我们首先需要为IMPORTIMAGE()我们想要引用的每个电子表格调用一个方法

=IMPORTRANGE("key-or-url-of-spreadsheet-1", "'sheet-name-1'!A2:Z100")
Run Code Online (Sandbox Code Playgroud)

即使我们参考编写此公式的同一个电子表格,我们也必须这样做,但对于每个电子表格执行一次就足够了

这是为了能够连接这些工作表允许访问这些工作表(无论如何我们都有访问权限)

                                                    在此处输入图片说明

在授予所有电子表格的权限后,我们可以使用上述查询。


Chr*_*ick 11

您应该能够在电子表格3中使用垂直数组:

__CODE__

  • 我有一个示例工作表,该工作表将3个importranges合并为一个工作表https://goo.gl/bEZgO9用于创建垂直数组的公式位于单元格A1中,并且还包括用于删除空白行的FILTER公式。您可以调整此公式以适合您自己的工作表吗? (2认同)