如何在特定单元格中引用查询数据

how to reference data of query in a specific cell

这就是我正在使用的,它工作正常,但每当我添加一个 sheet,我也会将它添加到下面的公式中。

=QUERY({Sheet1!A:C;Sheet2!A:C;Sheet3!A:C},"select Col1,Col3,Col4 where Col1 is not null",0)

我想把这个 {Sheet1!A:C;Sheet2!A:C;Sheet3!A:C} 放在一个单元格中,比方说 D1 然后我的公式是这样的 =QUERY(D1,"select Col1,Col3,Col4 where Col1 is not null",0).

这只是为了演示,我知道它会将 D1 视为数据本身

所以我尝试了:

indirect("D1")

t(D1)

text()

textjoin()

join()

它始终将 D1 视为数据并忽略其中的文本。

INDIRECT 不支持范围数组,但您可以使用另一个公式生成您的公式(然后只需复制粘贴它或使用脚本自动更新给定单元格的生成公式):

={""; ARRAYFORMULA("=QUERY({"&JOIN("; ", 
 IF(B4, "IFERROR(", )&B1&SEQUENCE(B3)&"!"&B2&
 IF(B4, ", {"&JOIN(",", REGEXREPLACE(""&SEQUENCE(
 MATCH(REGEXEXTRACT(B2, "\:(.)"), CHAR(ROW(64:94)), )-(
 MATCH(REGEXEXTRACT(B2, "(^.)"),  CHAR(ROW(64:98)), )-1)), 
 "\d+", """"""))&"})", ))&
 "}, ""select Col1,Col3,Col4 where Col1 is not null"", 0)")}

demo spreadsheet