【问题标题】:ARRAYFORMULA with IMPORTRANGE带 IMPORTRANGE 的 ARRAYFORMULA
【发布时间】:2017-11-27 10:25:12
【问题描述】:

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))

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

【问题讨论】:

    标签: google-sheets google-sheets-formula array-formulas importrange


    【解决方案1】:

    人们经常抱怨这个权限问题,但解决起来并不难。我所做的是有一张我命名为“Splash sheet”的表格,我将我希望链接的文档的 URL 粘贴到其中。其右侧是标题为“允许连接”的列,其中包含 IMPORTRANGE 公式,从每个工作表中导入单个单元格 - 通常是包含确认代码、编号或文档名称的单元格 - 在也称为“启动表”的工作表上。例如,

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

    因此,当您第一次通过其 URL 连接电子表格时,您会收到那些告诉您需要连接的消息,您点击允许访问,确认代码/编号/文档名称出现在第二列中,瞧,您的床单永远相连!现在,引用该 URL 的所有其他 IMPORTRANGE 都将起作用,并且您可以使用引用“启动表”上包含 URL 的单元格的 IMPORTRANGE 公式。

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

    问题是您不能在电子表格中制​​作数组数组;这将涉及多个维度,而媒体本质上是二维的。这就是人们使用数据库的目的。

    【讨论】:

    • 但是以这种临时方式使用 IMPORTRANGE 仍然会将整个数据从另一个地方复制到当前文件中,这意味着将数据保存在其他地方(以规避 500 万行限制)的重点是丢失。是吗?
    • 将数据保存在多个文档中并拥有多个引用它们的文档还有很多其他原因。
    • 另外,IMPORTRANGE 不会复制源文档中的所有数据;它只导入您指定的数据。我在这里所做的只是从每个源文档中导入一个单元格,不是为了导入该信息,而是为了确定一个文档可以从源文档中导入数据。
    【解决方案2】:

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

    【讨论】:

    • 感谢您的回答!我使用应用脚本解决了这个问题。
    • 你愿意分享你的剧本吗?这似乎是一个常见的问题,我已经寻找了几个小时的解决方案......
    猜你喜欢
    • 2016-07-11
    • 1970-01-01
    • 2021-05-22
    • 1970-01-01
    • 2021-04-07
    • 2020-09-12
    • 1970-01-01
    • 2020-08-15
    • 2015-07-16
    相关资源
    最近更新 更多