从指定的电子表格中导入相应范围的单元格。
用法示例
IMPORTRANGE("
https://docs.google.com/spreadsheets/d/abcd123abcd123
", "sheet1!A1:C10")
IMPORTRANGE(A2,"B2")
使用表格引用:IMPORTRANGE("https://docs.google.com/spreadsheets/d/abcd123abcd123", "DeptSales[Sales Amount]")
详细了解如何在 Google 表格中使用表格。
使用命名的范围:IMPORTRANGE("https://docs.google.com/spreadsheets/d/abcd123abcd123", "Sales_total")
详细了解如何为单元格范围命名。
语法
IMPORTRANGE(电子表格网址, 范围字符串)
-
电子表格网址
- 数据导入来源电子表格的网址。电子表格网址
的值必须括在引号中,或者必须是指向包含电子表格网址的单元格的引用。
-
范围字符串
- 指定数据导入来源范围的字符串,呈如下格式:"[工作表名!]范围"
(例如,"Sheet1!A2:B6"
或"A2:B6"
)。-
范围字符串
中的工作表名
是可选的;默认情况下,IMPORTRANGE
会导入来自第一张工作表给定范围中的数据。 -
range_string
的值必须括在引号中,或者必须是指向包含相关文本的单元格的引用。
-
技术详情和最佳做法
对源文档 IMPORTRANGE
进行任何更新后,系统都会刷新所有打开的接收文档,并显示绿色加载条。IMPORTRANGE
也会等待源文档完成计算,然后再将结果返回给接收文档,即使源范围中没有计算要完成也是如此。
最佳做法
- 限制接收工作表的数量,因为每个接收工作表都必须从源工作表中读取数据
- 在使用
IMPORTRANGE
之前,请调整工作表结构并精简结果,尤其是要从频繁更新的 Google 表格导入的情况下。- 例如,您的目标是计算其他电子表格中 100 万行数据的总和。先在该电子表格中计算总和,然后使用
IMPORTRANGE
提取这个总数,这比使用IMPORTRANGE
直接传输全部 100 万行数据到您的电子表格中再计算总和更快。这种方法会在传输数据之前精简并汇总信息,然后再提供给IMPORTRANGE
使用。
- 例如,您的目标是计算其他电子表格中 100 万行数据的总和。先在该电子表格中计算总和,然后使用
将多张工作表通过“链”关联在一起后,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
传输您所拥有的电子表格中的数据,系统会显示以下消息:- 完成
IMPORTRANGE
函数后,请等待几秒钟。 - 系统会显示 #REF! 错误并提示:“您需要连接到这些工作表。允许访问。”
- 要向源电子表格授予权限,请点击允许访问。
如果您尝试使用 IMPORTRANGE
传输不归您所有的电子表格中的数据,系统会在几秒钟后显示以下消息:
- 在浏览器中输入源电子表格网址。
- 请求获取该电子表格的访问权限。
- 等待该电子表格的所有者授予您访问权限。
IMPORTRANGE
从源电子表格的任何部分提取数据。在将获得访问权限的用户从源电子表格中移出前,访问权限会一直有效。请注意,向目标工作表授予的访问权限会计入源工作表的 600 位共享用户上限。性能
IMPORTRANGE
是一个外部数据函数,就像 IMPORTXML
和 GOOGLEFINANCE
一样。也就是说,需要连接到互联网才能正常运行。工作表必须将整个范围下载到计算机,会受到网速缓慢的问题影响,并且每个请求的数据接收量上限为 10MB。如果您在使用 IMPORTRANGE
时遇到速度缓慢的问题,可以考虑限制导入范围的大小。或者,您也可以在源文档中进行汇总计算,以便减少需要转移到本地工作表的数据量,并远程完成更多计算。
提示:您可以使用其他工具。Apps 脚本可以从其他文档读取数据,并能在修改时和预先安排的时间触发。关联工作表有安排的刷新功能,而且也更适合加载和导入大型数据集。
使用限制
IMPORTRANGE
函数产生的流量过多时,系统可能会在单元格中显示消息“正在加载…”以及详细的错误消息:“错误:由于请求数量较大,数据加载可能需要一段时间。请尝试减少您创建的电子表格中的 IMPORTHTML
、IMPORTDATA
、IMPORTFEED
或 IMPORTXML
函数的数量。”=IMPORTRANGE(arg)
中参数 arg 的解析值经常更改,系统就可能发起多次外部调用,这可能会导致节流。数据新鲜度
IMPORTRANGE
会每小时自动检查更新,即使公式和工作表未发生变化也是如此。如果您删除、读取或覆盖使用相同公式的单元格,则会触发函数重新加载。打开和重新加载文档并不会触发 IMPORTRANGE
重新加载。易变性
IMPORTRANGE
时,系统可能会在单元格中显示“#ERROR!”以及详细的错误消息:“错误:不允许此函数引用包含 NOW
、RAND
或 RANDBETWEEN
的单元格。”导入函数不能直接或间接引用 NOW
、RAND
或 RANDBETWEEN
等易变函数。这可防止用户的电子表格过载,因为这些易变函数会频繁更新。TODAY
函数,该函数是易变函数,但每天更新不超过一次。我们建议您:
- 复制这些易变函数的结果。
- 具体方法是使用选择性粘贴 仅粘贴值。
- 引用这些静态值。
如果这样做,所有值都将变为静态。例如,如果您复制并选择性粘贴 NOW
的结果值,则粘贴的值不会再发生变化。
如果您仍有疑问,可以前往 Google 文档编辑器帮助社区寻求帮助。
另请参阅
IMPORTXML
:从各种结构化数据类型(包括 XML、HTML、CSV、TSV 以及 RSS 和 ATOM XML Feed)中的任何一种中导入数据。
IMPORTHTML
:导入某个 HTML 页面内的表格或列表中的数据。
IMPORTFEED
:导入 RSS 或 ATOM Feed。
IMPORTDATA
:以 .csv(逗号分隔值)或 .tsv(制表符分隔值)格式导入给定网址的数据。