ARRAYFORMULA与Google电子表格中的IMPORTRANGE

时间:2017-11-27 10:25:12

标签: google-sheets array-formulas

列B列出了Google Spreadsheets的ID。在列C中列出了我要从中导入数据的单元格。

Screenshot of the table

在D列中显示了通过简单拖动使用IMPORTRANGE()的结果。例如对于D1看起来像:

=IMPORTRANGE(B1;C1)

代表D2:

=IMPORTRANGE(B2;C2)

等等。

在E栏中,我希望显示相同的结果,但使用的ARRAYFORMULA如下所示:

=ARRAYFORMULA(IMPORTRANGE(B2:B4,C2:C4))

但该功能仅显示第一个电子表格中的数据。

Link to the test Spreadsheet

请帮助解决这个问题!

2 个答案:

答案 0 :(得分:1)

人们对此权限问题抱怨很多,但这并不难解决。我要做的是有一个工作表,我将其命名为“初始工作表”,然后将要链接的文档的URL粘贴到该工作表中。右边是一列“允许连接”,其中包含IMPORTRANGE公式,该公式从每张工作表(通常是包含确认码,编号或文档名称的单元格)中导入一个工作表,该工作表也称为“初始工作表”。例如,

= IF(B3 =“输入URL” ,, CONCATENATE(IMPORTRANGE(B3,“初始工作表!A1”),“” ,, IMPORTRANGE(B3,“初始工作表!B1”))))

因此,当您第一次通过电子表格的URL连接电子表格时,会收到提示您需要连接的消息,单击“许可访问”,确认代码/编号/文档名称将显示在第二栏中,床单永远连接!现在,所有其他引用该URL的IMPORTRANGE都将起作用,并且您可以使用IMPORTRANGE公式来引用“初始表”中包含URL的单元格。

enter image description here

至于OP的原始问题,我来这里的目的是寻找相同问题的答案,经过更多研究后我们意识到我们正在这里尝试不可能的事情。无法做到这一点。编写引用文档的URL的每个单元格的公式是没有办法的。

问题是您无法在电子表格中创建数组数组;这将涉及多个维度,而媒介本质上是二维的。这就是人们使用数据库的目的。

答案 1 :(得分:0)

ARRAYFORMULA在导入数据时不起作用(我认为它与权限有关)。你可以使用这样的东西,= IFERROR(IMPORTRANGE(B5:B7; C5:C7))并预先填充列,但仍然存在权限问题。每个新导入的工作表都需要用户授予的权限。