当前位置: 首页 > 知识库问答 >
问题:

从多个google工作表导入,当任何一个工作表没有要导入的数据时发出

柳胡媚
2023-03-14

我正在从两个不同的谷歌工作表导入数据,并将它们合并到另一个工作表中。我使用的公式如下。

=QUERY({
  IFERROR(QUERY(
    { IMPORTRANGE("" , "Sheet1!$A$1:$b") },
    "SELECT Col1,Col2 WHERE Col2='Total'",
    0
  )) ;
  IFERROR(QUERY(
    { IMPORTRANGE("" , "Sheet1!$a$1:$b") },
    "SELECT Col1,Col2 WHERE Col2='Yes'",
    0
  ))
})

在上面的公式中,当两个工作表都有数据要导入时,importrange给出了结果,但是如果其中一个工作表没有数据要导入,则不会从另一个工作表导入数据。我在下面的链接中找到了一个解决方案,我们可以通过使用虚拟列引用来处理这个问题,当我们用很少的列导入很少的工作表时,这种方法是可以的,但是当我们从许多工作表和许多列导入虚拟列引用时变得太长了。有没有其他方法可以解决这个问题。

共有1个答案

公孙志
2023-03-14

最简单的方法是在importrange查询失败时使用IFERROR(序列(1,n)/0)作为输出,而不需要列出一堆空格。

您的简单示例的解决方案如下所示,其中n=2:

=ARRAYFORMULA(QUERY({IFERROR(QUERY({IMPORTRANGE("1hea986JF3plR_tn7plNRgjWhiGqxOlR8s8yE-Ri6FfU" , "Sheet1!$A$1:$b")}, "SELECT Col1,Col2 WHERE Col2='Total'",0),IFERROR(SEQUENCE(1,2)/0));IFERROR(QUERY({IMPORTRANGE("1IbPpoLLfa-ukoz2WInlgNGSNMNBxBwSx4in52fZCEyE" , "Sheet1!$a$1:$b")},"SELECT Col1,Col2 WHERE Col2='Yes'",0),IFERROR(SEQUENCE(1,2)/0))},"where Col1 is not null"))
 类似资料:
  • 我在Google Sheets中使用IMPORTRANGE将多个工作表导入主工作表上的一列时遇到了一点问题,每当其中一个工作表被更新时,它就会自动在主工作表上创建新行。除了进口,还有更好的方法吗?

  • 我无法从我的另一张表中导入数据。它相当大,有超过500行和100列。(我不知道这是否重要,但它有大约50张,我想从第一个最大的导入) 导入TML和导入数据花费的时间太长,然后说源太大。 但我想要的是,它一直在说内部错误。 你对我如何导入数据有什么建议吗?甚至可能是如何更改源以便可以从中导入? 要导入到的工作表

  • 我正在通过谷歌webapp进行搜索,我想通过从谷歌表格单元格中获取超文本标记语言设计来显示前端。在屏幕截图中显示一些示例 这是我的脚本代码 main.html 搜索html serversidefunc。gs 加载部分。gs 我希望我上面的帖子很清楚。

  • 我有30张单独的工作表,需要合并成一张有多个选项卡的工作表。我可以使用下面的脚本来完成这项工作,但每次都会创建一个新的工作表。当30张单独的工作表中的一张或全部更新时,我只希望这个脚本更新或重写以前创建的“主工作表”。 我正在寻找一个表,其中包含从每个地区的标签。这将允许我与单独更新的所有信息共享一个主控表。

  • 嗨,我需要一些帮助来编写VBA代码以自动将多个Excel(csv格式)文件导入Access。我需要导入的每个文件中的一个工作表上有2个数据范围。两个数据范围都有动态行数。Excel文件,让我们称它们为“SourceDataXXX. csv”,所有数据都在同一个工作表上,让我们称它为“InputData”。第一组数据总是从单元格A4开始,是7列数据(在单元格G4结束)。这组数据有可变数量的数据行。在

  • 我有两张表,一张在A列有产品名称(按字母顺序排列),另一张在B列有库存水平。 表1 另一张第二页,A栏中的产品和B栏中的库存水平相同,但填充了“importrange”,但C栏和D栏手动填充了客户名称。 第2页 我想做的是,如果一个新产品在第1页中介绍,并且它按字母顺序定位在(比方说)第3行,那么在第2页中出现一个新行。 表2理想情况下 目前,如果引入新产品,第二张表将显示产品和库存水平,但C列和