#1 楼
IMPORTRANGE()
似乎是您想要的功能。从Google电子表格功能列表中:
Google Spreadsheets允许您引用
电子表格中的另一个工作簿
您当前正在使用ImportRange函数进行编辑。 ImportRange
使您可以将一个或多个单元格值
从一个电子表格拉到另一个电子表格。要
创建自己的ImportRange公式,
输入= importRange(spreadsheet-key,
range)。对于使用逗号
进行十进制分隔的语言,请使用
分号代替逗号来
分隔公式中的参数。
Spreadsheet-key是STRING这是
电子表格中的键值
URL。
范围是一个STRING,表示要导入的单元格的
范围,
可选地包括工作表名称
(默认为第一张工作表)。如果愿意,还可以
使用范围名称。
鉴于两个参数是
STRING,则需要将它们用
引号括起来或引用单元格其中包含
字符串值。
例如:
= importrange(“ abcd123abcd123”,“ sheet1!A1:C10”)“ abcd123abcd123”是
目标电子表格的URL上“ key =“属性中的值和
“ sheet1!A1:C10”是希望导入的范围。
br />
= importrange(A1,B1)单元格A1包含字符串ABCD123ABCD123,单元格B1包含sheet1!A1:C10
注意:要使用ImportRange,您需要
需要作为查看器或合作者添加到
,而ImportRange正在从中提取数据。
否则,您将收到以下错误:
“ #REF!错误:找不到请求的电子表格键,工作表标题或单元格
范围。”当然,
“键”是Strin电子表格的网址中的g与
key=
参数匹配。我只是通过创建两个电子表格对其进行了测试。在第一个单元格A1中,我放置了一个字符串。在第二个单元格的A1中,我输入
=importRange("tgR2P4UTz_KT0Lc270Ijb_A","A1")
,它显示了第一个电子表格中的字符串。 (您的键显然会有所不同。)(该函数的格式可能取决于您的语言环境。在法国,该公式不适用于逗号,因此您需要将其替换为分号:
=importRange("tgR2P4UTz_KT0Lc270Ijb_A";"A1")
)注释:
Google当前为每个电子表格设置了50个“跨工作簿参考公式”的硬限制。来源:Google文档,表格和幻灯片大小限制。 (h / t JJ Rohrer)
“新的” Google电子表格(即将成为标准)删除了50个“跨工作簿参考公式”的50个限制(Google支持)(h / t Jacob Jan Tuinstra)
在“新” Google表格中,您还将整个URL用作密钥(Google支持)(h / tPunchlinern)
评论
@Al:是的!而已!谢谢。
–杰夫·耶茨(Jeff Yates)
2010年7月1日于16:21
+1哇!我没有意识到有一个在线版本。另一个选择是使用Google Apps脚本。创建一个使用SpreadsheetApp.openById([ID])。getRange()的函数,并设置一个本地范围。
–伊文·普莱斯
2012年2月16日在8:09
可能值得注意的是,(每个电子表格?)您最多只能使用其中的50个(Google的硬性限制):support.google.com/drive/answer/37603?hl = zh-CN
– JJ Rohrer
13-10-10在3:34
在新版Google电子表格(很快将成为标准)中,已删除了50个限制:support.google.com/drive/answer/3093340?hl = zh-CN
–雅各布·扬·图恩斯特拉(Jacob Jan Tuinstra)
2014年4月1日在21:58
另外,在新的Google表格中,您将整个URL用作键。此外,当您首次输入该功能时,系统还会提示您授予对所请求工作表的访问权限。
– Punchlinern
15年2月21日在21:10
#2 楼
仅供参考,如果您要引用其他电子表格中的其他工作表,则不应重新引用工作表名称:使用
的
=importRange("tgR2P4UTz_KT0Lc270Ijb_A","Sheet Name!A1:A10")
评论
谢谢。您应该将此添加为其他答案的注释,甚至只是编辑该答案。
–studgeek
2013年11月1日19:10
#3 楼
在新界面中,您只需能够在单元格中键入=
,然后转到另一页并选择所需的单元格即可。如果要手动执行此操作或使用旧界面,则只需执行=Sheet1!A1
,其中Sheet1
是工作表的名称,而A1
是您关心的工作表上的单元格。这与Microsoft Excel相同。评论
如果工作表名称中包含空格,请使用“此其他工作表”!
– akira
2010年7月1日在14:35
正如我在问题中所问的,从完全不同的文档中呢?
–杰夫·耶茨(Jeff Yates)
2010年7月1日14:46
@jeff抱歉;您没有在正文中提及“文档”,由于某种原因,在我的脑海中,我以为是“床单”。据我所知,您不能动态链接到另一个文档。但是您可以使用多个工作表,而不是多个文档,这时您可以执行我建议的操作。正是由于这个原因,这就是我经营自己的每月财务的方式。
–本杰明·波拉克(Benjamin Pollack)
2010年7月1日在15:09
没关系:)我知道有一种方法可以完成,因为我实际上是自己完成的,但是我已经忘记了,也找不到我做过的工作表。
–杰夫·耶茨(Jeff Yates)
2010年7月1日在15:31
这无法回答发布的问题-它是在讨论同一文档中的其他工作表。
–布伦丹
18年7月26日在14:52
#4 楼
我使用插入->定义新范围找到了这种语法引用其他电子表格的范围:
整个列:“名称中带有空格的电子表格”!A:A
整个B栏:“名称中包含空格的电子表格”!B:B
等。
那么您可以将其用作:
=COUNTIF('First Page'!B:B, "valueToMatch")
评论
也可以在电子表格外部引用吗?
–雅各布·扬·图恩斯特拉(Jacob Jan Tuinstra)
2012年12月30日20:11在
@JacobJanTuinstra您是什么意思在电子表格之外?
–汤姆·罗格罗(Tom Roggero)
2012年12月31日13:51
好吧,IMPORTRANGE函数可以从另一个电子表格导入数据。设置范围仅意味着(可能)在电子表格中。那就是我在外面的意思。
–雅各布·扬·图恩斯特拉(Jacob Jan Tuinstra)
2012年12月31日下午14:11
这不能回答发布的问题-只是描述如何引用同一文档中的另一张纸。
–布伦丹
18年7月26日在14:53
@brendan使用IMPORTRANGE就像Jacob所说的。
–汤姆·罗格罗(Tom Roggero)
18年7月29日在3:57
#5 楼
这是我的操作方法(重新实现了'importrange()'):打开脚本编辑器(“工具”->“脚本”->“脚本编辑器”)
提供这样的功能(不做任何检查,就必须改进,但您已经有了一般的想法):
function REMOTEDATA(inKey, inRange) { var outData; var ss = SpreadsheetApp.openById(inKey); if (ss) { outData = ss.getRange(inRange).getValues(); } return outData; }
使用此公式在电子表格中:
=SUM(REMOTEDATA("key", "SheetName!A1:A10"))
“ key”是文档的密钥,可以在文档URL的“ key = xyz”参数中找到。
“电子表格服务”的文档提供了有关该主题的更多信息。
评论
自己实现而不使用现有功能的好处是什么?
–杰夫·耶茨(Jeff Yates)
2010年7月1日在16:22
@Jeff Yates:没有,我只是在不知道importrange()的情况下实现了它。运动精神,你知道吗?只是因为我可以:)
– akira
2010年7月1日在18:45
不幸的是,电子表格自定义函数无法再使用SpreadsheetApp.openById()或SpreadsheetApp.openByUrl()->developers.google.com/apps-script/guides/sheets/…打开其他电子表格
– Francesco Vadicamo
16年3月30日在21:11
#6 楼
我通过使用Query进行了非常简单的操作,例如,我有2张工作表ABC和XYZ,我想将A1到C30的范围从Abc导入到XYZ,单击要显示范围的单元格,并编写以下代码:=QUERY(ABC!A1:C30)
注意:如果工作表名称中包含空格,那么您当然可以这样写:
=QUERY('ABC 1'!A1:C30)
评论
OP询问如何从另一个文档导入单元格。 QUERY可以这样做吗?
– Vidar S. Ramdal
2012年11月6日14:08
@ VidarS.Ramdal可以,但是需要importrange(“ abcd123abcd123”,“ sheet1!A1:C10”)例如= query(importrange(“ abcd123abcd123”,“ sheet1!A1:C10”));-)
–负责人
2014年6月2日18:05
评论
顺便说一句,我知道这是有可能的,就像我曾经做过的那样,但是我再也找不到信息或我做的工作表了。如果找到它,我将发布更新。