ArrayFormula + 多个 IMPORTRANGE + QUERY

ArrayFormula + multiple IMPORTRANGE + QUERY

我想将一些电子表格导入到一个符合某些条件的电子表格中,不幸的是,如果其中一个电子表格没有 return 任何数据,ARRAYFORMULA 会要求 ARRAY_LITERAL空结果。

我需要在 IFERROR 函数中使用什么才能使 ARRAYFORMULA 不附加任何内容并乐于继续?

这是我现在拥有的:

={
   QUERY(IMPORTRANGE("<spreadsheet>", "Range!B2:J"), "SELECT Col1, Col2, Col3, Col5, Col9 WHERE Col1 <> '' AND Col5 >= 18 ");
   IFERROR(QUERY(IMPORTRANGE("<spreadsheet2>", "Range!B2:K"), "SELECT Col1, Col3, Col2, Col4, Col6, Col10 WHERE Col10 <> '' AND Col6 >= 18"), "")
}

我在 IFERROR 中包装了第二个,但是空字符串不是有效的 ARRAY_LITERAL,那么我可以做什么来代替它?

完整错误:

In ARRAY_LITERAL, an Array Literal was missing values for one or more rows.

我意识到我可以给它一个空行,其中的列数与 I1:N2 相同,但您永远不知道是否可能需要使用这些列,然后查询就需要更改。

我建议使用空 array:

=iferror(query(..., ...), {"", "", "", ..., ""} )

注:

  • 你 select 6 列,因此重复 "" 六次。

编辑

来自@Moseleyi。

Makes sense, but of course, it still produces empty rows, and if I wrap my ARRAYFORMULA in SORT, the empty rows will be shown first, but when I use empty cells they won't, probably because they're actually NULL. But I replaced empty strings with IFERROR(1/0) and it worked.