IMPORTRANGE

从指定的电子表格中导入相应范围的单元格。

使用示例

IMPORTRANGE("https://docs.google.com/spreadsheets/d/abcd123abcd123", "sheet1!A1:C10")

IMPORTRANGE(A2,"B2")

语法

IMPORTRANGE(电子表格网址, 范围字符串)

  • 电子表格网址 - 数据导入来源电子表格的网址。

    • 电子表格网址的值必须括在引号中,或者必须是指向包含电子表格网址的单元格的引用。
  • 范围字符串 - 指定数据导入来源范围的字符串,呈如下格式:"[工作表名!]范围"(例如,"Sheet1!A2:B6""A2:B6")。

    • 范围字符串中的工作表名是可选的;默认情况下,IMPORTRANGE 会导入来自第一张工作表给定范围中的数据。

    • range_string 的值必须括在引号中,或者必须是指向包含相关文本的单元格的引用。

技术详情和最佳做法

对源文档 IMPORTRANGE 进行任何更新后,系统都会刷新所有打开的接收文档,并显示绿色加载条。IMPORTRANGE 也会等待源文档完成计算,然后再将结果返回给接收文档,即使源范围中没有计算要完成也是如此。

最佳做法

  • 限制接收工作表的数量,因为每个接收工作表都必须从源工作表中读取数据
  • 在使用 IMPORTRANGE 之前,请调整工作表结构并精简结果,尤其是要从频繁更新的 Google 表格导入的情况下。
    • 例如,您的目标是计算其他电子表格中 100 万行数据的总和。先在该电子表格中计算总和,然后使用 IMPORTRANGE 提取这个总数,这比使用 IMPORTRANGE 直接传输全部 100 万行数据到您的电子表格中再计算总和更快。这种方法会在传输数据之前精简并汇总信息,然后再提供给 IMPORTRANGE 使用。

将多张工作表通过“链”关联在一起后,IMPORTRANGE 的更新结果会传播到其他工作表。如果工作表 B 包含 IMPORTRANGE(sheet A),而工作表 C 包含 IMPORTRANGE(sheet B),这就形成了一个链。对工作表 A 做出的任何更新都会导致工作表 B 和工作表 C 重新加载。

最佳做法

  • 限制在多张工作表中形成的 IMPORTRANGE 链的数量。
  • 避免形成 IMPORTRANGE 循环。例如,如果您在相互引用数据的多个电子表格中使用 IMPORTRANGE,就会形成循环:电子表格 A 的数据使用 IMPORTRANGE 提取电子表格 B 中的数据,而电子表格 B 又使用 IMPORTRANGE 从电子表格 A 中提取数据。这会导致在两个表格之间形成循环,其中的每个电子表格都会不停地尝试引用另一个电子表格中的数据,并且永远无法产生实际的数据输出。
  • 对源工作表进行更改后,相应更改可能要延迟一段时间才会反映在受影响的工作表中。也就是说,如果在多个通过链关联的文档中使用多层 IMPORTRANGE,那么在更新源工作表后,可能要延迟很久才能在受影响的工作表中看到更新结果。

如果是首次打开某个文档,或是在过去 5 分钟内没有人打开过文档的情况下打开该文档时,IMPORTRANGE 会重新加载。与更新链一样,这需要 IMPORTRANGE“唤醒”要从中导入数据的所有文档。

最佳做法

  • 了解打开的文档可能需要一段时间才能更新完成,并考虑限制 IMPORTRANGE 的链接数。

权限和访问权限

只有获得明确授权的电子表格才能通过 IMPORTRANGE 从其他电子表格中提取数据。目标工作表首次从新的源工作表中提取数据时,系统会提示用户授予权限。
如果您尝试使用 IMPORTRANGE 传输您所拥有的电子表格中的数据,系统会显示以下消息:
You need to connect these sheets error message
  1. 完成 IMPORTRANGE 函数后,请等待几秒钟。
  2. 系统会显示 #REF! 错误并提示:“您需要连接到这些工作表。允许访问。”
  3. 要向源电子表格授予权限,请点击允许访问

如果您尝试使用 IMPORTRANGE 传输不归您所有的电子表格中的数据,系统会在几秒钟后显示以下消息:

You don't have permissions to access that sheet message

  1. 在浏览器中输入源电子表格网址。
  2. 请求获取该电子表格的访问权限。
  3. 等待该电子表格的所有者授予您访问权限。
授予访问权限后,目标电子表格的任何编辑者都可以使用 IMPORTRANGE 从源电子表格的任何部分提取数据。在将获得访问权限的用户从源电子表格中移出前,访问权限会一直有效。请注意,向目标工作表授予的访问权限会计入源工作表的 600 位共享用户上限

性能

IMPORTRANGE 是一个外部数据函数,就像 IMPORTXMLGOOGLEFINANCE 一样。也就是说,需要连接到互联网才能正常运行。工作表必须将整个范围下载到计算机,会受到网速缓慢的问题影响,并且每个请求的数据接收量上限为 10MB。如果您在使用 IMPORTRANGE 时遇到速度缓慢的问题,可以考虑限制导入范围的大小。或者,您也可以在源文档中进行汇总计算,以便减少需要转移到本地工作表的数据量,并远程完成更多计算。

提示:您可以使用其他工具。Apps 脚本可以从其他文档读取数据,并能在修改时和预先安排的时间触发。关联工作表有安排的刷新功能,而且也更适合加载和导入大型数据集。

用量限额

Loading data may take a while because of the large number of requests error message

IMPORTRANGE 函数产生的流量过多时,系统可能会在单元格中显示消息“正在加载…”以及详细的错误消息:“错误:由于请求数量较大,数据加载可能需要一段时间。请尝试减少您创建的电子表格中的 IMPORTHTMLIMPORTDATAIMPORTFEEDIMPORTXML 函数的数量。”
这些是针对文档创建者强制实施的限额。用户必须考虑其创建的所有打开文档中全部导入函数的数据用量总和。协作者所做修改也可能会计入您的配额。
要解决该错误消息,我们建议用户减少导入函数造成的数据流失量。例如,如果 =IMPORTRANGE(arg) 中参数 arg 的解析值经常更改,系统就可能发起多次外部调用,这可能会导致节流。

数据新鲜度

Google 表格在确保其用户获取最新数据的同时,还能帮助用户合理使用数据。当文档处于打开状态时,IMPORTRANGE 会每小时自动检查更新,即使公式和工作表未发生变化也是如此。如果您删除、读取或覆盖使用相同公式的单元格,则会触发函数重新加载。打开和重新加载文档并不会触发 IMPORTRANGE 重新加载。

易变性

使用 IMPORTRANGE 时,系统可能会在单元格中显示“#ERROR!”以及详细的错误消息:“错误:不允许此函数引用包含 NOWRANDRANDBETWEEN 的单元格。”导入函数不能直接或间接引用 NOWRANDRANDBETWEEN 等易变函数。这可防止用户的电子表格过载,因为这些易变函数会频繁更新。
This function is not allowed to reference a cell with NOW(), RAND(), or RANDBETWEEN() error message
提示:唯一的例外是 TODAY 函数,该函数是易变函数,但每天更新不超过一次。

我们建议您:

  1. 复制这些易变函数的结果。
  2. 具体方法是使用选择性粘贴 接着点按 仅粘贴值
  3. 引用这些静态值。

如果这样做,所有值都将变为静态。例如,如果您复制并选择性粘贴 NOW 的结果值,则粘贴的值不会再发生变化。

如果您仍有疑问,可以前往 Google 文档编辑器帮助社区寻求帮助。

另请参阅

IMPORTXML:从各种结构化数据类型(包括 XML、HTML、CSV、TSV 以及 RSS 和 ATOM XML Feed)中的任何一种中导入数据。

IMPORTHTML:导入某个 HTML 页面内的表格或列表中的数据。

IMPORTFEED:导入 RSS 或 ATOM Feed。

IMPORTDATA:以 .csv(逗号分隔值)或 .tsv(制表符分隔值)格式导入给定网址的数据。

了解如何优化数据引用。

搜索
清除搜索内容
关闭搜索框
主菜单
5342860451076980713
true
搜索支持中心
true
true
true
true
true
35
false
false