导入范围从多个谷歌工作表,当任何一个工作表都没有数据可导入时会出现问题



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

=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是在两张图纸都有数据要导入时给出结果,但如果任何一张图纸没有数据要导入,则不会导入另一张图纸的数据。我在下面的链接中找到了一个解决方案,我们可以通过使用伪列引用来处理这个问题,当我们有几个表要导入,只有几个列时,这种方法很好,但当我们从多个表和多个列导入时,伪列引用太长。有其他办法解决这个问题吗。

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

简单示例的解决方案如下所示,其中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"))

最新更新