使用单元格值作为具有多个范围的函数的范围

Use cell value as range for function with multiple ranges

目标:

使用单元格中的值作为查询函数的范围。

问题:

它可能不起作用,因为它是多个值

我得到了什么:

// Cell value that is dynamically generated (info!A1)
"abc!$A2:$H;def!$A2:$H"

// Function I want to call
=QUERY({abc!$A2:$H;def!$A2:$H} , "where Col1 is not null")

// What I tried
=QUERY(indirect(info!A1), "where Col1 is not null")

//The error
"Function INDIRECT parameter 1 value is abc!$A2:$H;def!$A2:$H . It is not a valid cell/range reference"

无法实现所需的功能。生成的范围需要传入 INDIRECT 并且 INDIRECT 不支持数组。当然,有一些解决方法取决于您希望调用多大的妥协。

参见:

在您的场景中,它将是:

={""; INDEX("=QUERY({"&TEXTJOIN("; ", 1, "INDIRECT("""&
 FILTER(A5:A, A5:A<>"")&"!"&B5&""")")&"}, ""where Col1 is not null"", )")}