我有一张包含一些数据的表格。数据集很可能会增长,我希望通过它来引用它的公式随之成长。
我试过了:
=ArrayFormula(split(B16:B,";"))
我希望看到公式复制到工作表的整个长度(几千行),而只是第16行产生了结果。
我对阵列公式的理解是否正确?还有其他解决方案吗?我可以使用应用程序脚本,但想知道我在这里做错了什么或者是否有更快的方法?
答案 0 :(得分:2)
Split()在Arrayformula中不起作用。有解决方法。一个涉及使用regexextract,看起来像这样
=ArrayFormula(IFERROR(REGEXEXTRACT(";"&B16:B,"^"&REPT(";+[^;]+",COLUMN(OFFSET(A1,,,1,3))-1)&";+([^;]+)")))
“;”是分隔符,“3”将是一个单元格中的最大分割/列输出。例如:
的单元格值;值;价值 - >拆分时会有3列输出。
希望有道理吗?
编辑:最近的更新(2017年1月)可以在数组上迭代split()。像
这样的东西=ArrayFormula(split(B16:B,";"))
现在应该可以。