带有 IMPORTRANGE 的 ARRAYFORMULA

ARRAYFORMULA with IMPORTRANGE

B 列列出了 Google 个工作表的 ID。 C 列中列出了我要从中导入数据的单元格。

Screenshot of the table

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

=IMPORTRANGE(B1;C1)

对于 D2:

=IMPORTRANGE(B2;C2)

等等。

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

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

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

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

人们经常抱怨这个权限问题,但并不难解决。我所做的是有一个 sheet,我将其命名为 "Splash sheet",并将我希望 link 的文档的 URL 粘贴到其中。在其右侧是一个标题为 "permit to connect" 的列,其中包含从 sheet 上的每个 sheet 导入单个单元格的 IMPORTRANGE 公式——通常是一个包含确认代码、编号或文档名称的单元格——在 sheet也命名为 "Splash Sheet." 例如,

=IF(B3="enter URL",CONCATENATE(IMPORTRANGE(B3,"Splash sheet!A1")," ",IMPORTRANGE(B3,"Splash sheet!B1")))

因此,当您第一次通过它的 URL 连接一个传播 sheet 时,您会收到那些消息告诉您需要连接,您单击允许访问,确认 code/number/document名称出现在第二列中,瞧,您的 sheet 永远连接了!现在,所有其他引用 URL 的 IMPORTRANGE 都将起作用,并且您可以使用引用 "splash sheet."

上的 URL-containing 单元格的 IMPORTRANGE 公式

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

问题是你不能在 spreadsheets 中创建数组的数组;这将涉及多个维度,而媒介本质上是 two-dimensional。这就是人们使用数据库的目的。