Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google sheets 如何使IMPORTRANGE成为一个动态函数_Google Sheets_Google Sheets Formula_Google Sheets Query_Importrange - Fatal编程技术网

Google sheets 如何使IMPORTRANGE成为一个动态函数

Google sheets 如何使IMPORTRANGE成为一个动态函数,google-sheets,google-sheets-formula,google-sheets-query,importrange,Google Sheets,Google Sheets Formula,Google Sheets Query,Importrange,有没有办法将以下公式作为动态数组公式: =查询( {IMPORTRANGE(B2,“Filter!B:C”); 导入(B3,“过滤器!B:C”); importrange(B4,“Filter!B:C”)},“Where Col2”“”) 如果我的输入是三个电子表格键,则IMPORTRANGE应执行三次,如果我的输入是五个电子表格键,则IMPORTRANGE应执行五次。此问题的答案是否,您不能 importrange在某种程度上已经是一个arrayformula,因为它返回数组,所以不能将键\范

有没有办法将以下公式作为动态数组公式:

=查询(
{IMPORTRANGE(B2,“Filter!B:C”);
导入(B3,“过滤器!B:C”);
importrange(B4,“Filter!B:C”)},“Where Col2”“”)


如果我的输入是三个电子表格键,则IMPORTRANGE应执行三次,如果我的输入是五个电子表格键,则IMPORTRANGE应执行五次。

此问题的答案是否,您不能

importrange
在某种程度上已经是一个
arrayformula
,因为它返回数组,所以不能将键\范围数组作为输入

变通办法 您可以将公式组合为字符串,得到如下字符串:

“=query({importrange(…);importrange(…)…},“选择…”)”

然后使用脚本将字符串转换为公式


例如,在col
A
中,制作
ini
表格,制作进口清单:

="importrange("&B1&",""Filter!B:C"")"
="importrange("&B2&",""Filter!B:C"")"
="importrange("&B3&",""Filter!B:C"")"
and so on
将键放入列
B

然后生成过滤器公式,用分号将它们连接起来:

=join(“;”,filter(A:A,A:A)”)

所以你得到了未来公式的一部分:

“导入(B2,“过滤器!B:C”);导入(B3,“过滤器!B:C”);…”

然后连接公式的其他部分


最后一步是使用脚本转换此文本公式,并将其作为实际公式粘贴到目标工作表。如果使用
onEdit
触发器检查
ini
工作表中的任何更改,脚本可能会正常工作。

此问题的答案是否,您不能

importrange
在某种程度上已经是一个
arrayformula
,因为它返回数组,所以不能将键\范围数组作为输入

变通办法 您可以将公式组合为字符串,得到如下字符串:

“=query({importrange(…);importrange(…)…},“选择…”)”

然后使用脚本将字符串转换为公式


例如,在col
A
中,制作
ini
表格,制作进口清单:

="importrange("&B1&",""Filter!B:C"")"
="importrange("&B2&",""Filter!B:C"")"
="importrange("&B3&",""Filter!B:C"")"
and so on
将键放入列
B

然后生成过滤器公式,用分号将它们连接起来:

=join(“;”,filter(A:A,A:A)”)

所以你得到了未来公式的一部分:

“导入(B2,“过滤器!B:C”);导入(B3,“过滤器!B:C”);…”

然后连接公式的其他部分


最后一步是使用脚本转换此文本公式,并将其作为实际公式粘贴到目标工作表。如果使用
onEdit
触发器检查
ini
工作表中的任何更改,脚本可能会正常工作。

我认为您的公式正常。若要添加其他键,您需要将它们添加到公式中。您好,Max,有没有办法让e importrange将充当动态函数。我认为您的公式没有问题。若要添加其他键,您需要将它们添加到公式中。您好,Max,有没有一种方法可以让importrange充当动态函数。