使用JOIN将多个IMPORTRANGES拉入SORT(ARRAYFORMULA({importrange1; importrange2; etc}

时间:2019-01-02 22:34:34

标签: function join google-sheets importrange

如何使用JOIN(可能还包括VLOOKUP?FILTER?)列出重要列表,从而产生类似{IMPORTRANGE(C3,$E$1); IMPORTRANGE(C4,$E$1); IMPORTRANGE(C5,$E$1); IMPORTRANGE...}的内容?

当前,在google工作表中,我有一个公式如下:=SORT(ARRAYFORMULA({IMPORTRANGE(C3,$E$1);IMPORTRANGE(C4,$E$1);IMPORTRANGE(C5,$E$1);IMPORTRANGE...",其中电子表格网址位于C列,范围(每个导入的工作表都相同)位于E1。

当我只有大约十二个电子表格要导入并且都已经存在时,将其全部键入即可。但是现在我想导入更多电子表格(听说50个importranges的限制不再适用)并且它们还不存在。如果我保持原样,那么每次我在C列中添加另一个电子表格网址时,我还必须进入并编辑= SORT公式。

然后,我发现此线程Fill ArrayFormula with dynamic ImportRange,其中列出的建议答案为:="=sort(ARRAYFORMULA({"&JOIN(";",ArrayFormula("IMPORTRANGE("""&VLOOKUP(FILTER(G2:G20,G2:G20<>""),Sheet3!$A$2:$B,2,0)&""","""&G1&"!A2:B"")"))&"}),1,True,2,True)" 那里的JOIN看起来很吸引人(我最近才了解JOIN),但是我不了解所有语法(例如““”),而且我也无法访问原始电子表格以查看引用指向的内容。

因此,我正在寻求有关如何将C3,C4,C5等输入到JOIN中的帮助-不确定VLOOKUP如何帮助我-以及是否有人知道为什么有这么多=“&在整个建议的公式中=&“”“ ...

1 个答案:

答案 0 :(得分:0)

以下解决方案之一可能会满足您的需要。首先是您的要求。第二个是可能会结合多个IMPORTRANGE公式的公式。

解决方案1 ​​ ="="&ArrayFormula(REGEXREPLACE(QUERY(UNIQUE(TRANSPOSE(SPLIT(CONCATENATE(IF(E3:E="","","IMPORTRANGE("&E3:E&", $E$1)"&":")),":"))),,9^99),"\)(.*?)I","\), I"))

解决方案2 ="=QUERY({"&ArrayFormula(REGEXREPLACE(QUERY(UNIQUE(TRANSPOSE(SPLIT(CONCATENATE(IF(E3:E="","","IMPORTRANGE("&E3:E&", $E$1)"&":")),":"))),,9^99),"\)(.*?)I","\); I")&"},""Select Col1 where Col1<>''"",0)")

然后,您只需复制该单元格,选择目标单元格,然后将其“粘贴为值” 放入编辑栏

您可以看到正在使用的工作表HERE(只需复制一下即可使用)。