导入多个范围时连接或加入动态数组

Concatenate or join of dynamic array when importing multiple ranges

我有一组指向其他工作表的超链接,这些超链接会随着添加或删除新链接而改变。我正在寻找一个函数,它将从所有这些工作表中导入相同的范围。这些工作表都基于相同的模板。

我可以使用以下方法创建动态范围:

C1="B1:B"&counta(B1:B)

然后我在这里用这个公式加入所有东西:

="{importrange("&join(", """&"Sheet1!A:A"&"""); importrange(",indirect(C1))&", """&"Sheet1!A:A"&""")}"

输出显示了我需要的公式,但它不会计算并显示为字符串。我尝试在创建的公式上使用间接,但这也不起作用,因为它声明间接需要有效范围。

{importrange(https://docs.google.com/spreadsheets/d/19S08r/, "Sheet1!A:A"); importrange(https://docs.google.com/spreadsheets/d/19S08r/, "Sheet1!A:A"); importrange(https://docs.google.com/spreadsheets/d/1uxdty/, "Sheet1!A:A"); importrange(https://docs.google.com/spreadsheets/d/19S08r/, "Sheet1!A:A")}

Google Sheets 内置函数无法将 TEXT 值转换为公式。这只能通过使用 Google Apps Script 或 Google Sheets API.

来完成

要使用的方法是setFormula / setFormulaR1C1 to return a single formula, and setFormulas / setFormulaR1C1 到return 一个公式数组。

注意:IMPORTRANGE 要求第一个参数是文本值,因此如果您要直接包含 URL 而不是使用单元格引用,则 URL 应该用引号括起来。